私は奇妙なシナリオを今のところ起こしています。ビルドサーバー(SVNサーバーとは別)にsvn info TXN REPO
コマンドを発行すると、期待どおりに動作し、関連情報がコンソールに表示されます。SVN SSL証明書はPythonスクリプトで信頼できません
しかし、私はそれをPython、特にサブプロセスモジュールのPopenを使ってスクリプト化すると、メッセージsvn: E230001: Server SSL certificate untrusted
を標準エラー(コンソール)に出力します。
をスクリプト呼び出し内--non-interactive
と--trust-server-cert
フラグを使用して:私が試した何
。
スクリプトを使用してsvn info
コール内でユーザ名/パスワードを渡す。
上記の2つは効果がないようで、上記と同じエラーが出ます。ただし、コマンドプロンプトから同じコマンドを手動で実行すると、問題なく正常に実行されます。私はそれが何かのPythonとSVNサーバーへの新しいセッションを開いて、そのセッションは "信頼できる"接続ではないかもしれないと仮定しますか?しかし、私は確信が持てません。
私たちのSVNサーバのWindowsマシン上で、バージョン1.8.0
当社のビルドサーバーは、ジェンキンスバージョン2.84を実行しているWindowsマシンです。 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の対話シェルにスクリプトからPythonのラインを貼り付けた場合も予想されるように、コマンドが動作します。だから問題は、コマンド自体ではなく、Pythonがそのコマンドをどのように実行するかではなく、スクリプトがコマンドをどのように実行しているかです。 **
この前に誰かが出会ったことはありますか?