2017-10-23 2 views
0

나는 지금 이상한 시나리오를 겪고 있습니다. 빌드 서버 (SVN 서버와 별도)에서 svn info TXN REPO 명령을 실행하면 예상대로 작동하고 관련 정보가 콘솔에 표시됩니다.SVN SSL 인증서는 Python 스크립트를 통해 신뢰할 수 없습니다.

그러나 Python과 특히 하위 프로세스 모듈의 Popen을 사용하여 스크립트를 작성하면 svn: E230001: Server SSL certificate untrusted이라는 메시지가 표준 오류 (콘솔)에 인쇄됩니다.

내가 무엇을 시도했다 :

스크립트 호출 내에서 --non-interactive--trust-server-cert 플래그를 사용.

스크립트를 통해 svn info 호출 내에서 사용자 이름/암호를 전달합니다.

위의 두 가지는 적용되지 않는 것으로 보이며 위와 같은 오류가 발생합니다. 그러나 명령 프롬프트에서 동일한 명령을 수동으로 실행해도 문제없이 성공합니다. 나는 그것이 파이썬이 SVN 서버에 대한 새로운 세션을 여는 것과 관련이 있다고 가정하고 그 세션은 "신뢰할 수있는"연결이 아닌가? 그러나 나는 확신 할 수 없다.

우리의 SVN 서버는 1.8.0

우리의 빌드 서버는 젠킨스 버전 2.84을 실행하는 윈도우 시스템입니다 버전의 윈도우 머신에와있다. Jenkins는 위의 작업을 수행하여 Python 스크립트를 시작하는 배치 스크립트를 실행합니다.

명령 : svn_session = Popen("svn info --non-interactive --trust-server-cert --no-auth-cache -r %s %s" % (TXN, REPOS), stdout=PIPE, stderr=PIPE, shell=True)

** 편집 **

내가 복사하고 동일한 서버에 대화 형 파이썬 쉘에 스크립트 파이썬 라인을 붙여

이 명령 작품도 예상대로. 따라서 문제는 명령 자체가 아닌 명령을 실행하는 방법 또는 Python이 명령을 실행하는 방법입니다. **

이전에이 문제가 발생 했습니까?

답변

관련 문제