web-dev-qa-db-ja.com

Jenkins Git統合-SSL証明書の検証を無効にする方法

Jenkinsからジョブを作成しているときに、次のエラーが表示されます。 Jenkinsで証明書の検証を無効にするにはどうすればよいですか?

Git Bashからgit config --global http.sslVerify falseコマンドを使用して無効にできますが、Jenkinsからの使用方法はわかりません。

エラー:

Failed to connect to repository : Command "C:\Program Files (x86)\Git\cmd\git.exe ls-remote -h url ofmy repository.git HEAD" returned status code 128:
stdout:
stderr: fatal: unable to access 'url of my git/': SSL certificate problem: self signed certificate in certificate chain
10
Sona Shetty

最良のオプションは、自己署名証明書を証明書ストアに追加することです

サーバー証明書ツリーを取得するこれは、chromeを使用して実行できます。

  1. サーバーアドレスに移動します。南京錠のアイコンをクリックして、証明書を表示します。すべての証明書チェーンをbase64エンコードファイル(PEM)形式としてエクスポートします。

  2. GIT信頼設定ファイルの信頼チェーンに証明書を追加します。ジョブを実行しているマシンでGit bashで次を実行します。

「git config --list」。

http.sslcainfo構成を見つけます。これは、証明書信頼ファイルの場所を示しています。 3. "- -BEGIN- -"および"- -END- -"を含むすべての証明書を信頼チェーンファイルにコピーします。ルート証明書チェーンを証明書ファイルに追加してください

これにより、自己署名証明書とGITの使用に関する問題が解決されます。

推奨しません

もう1つの方法は、スレーブにリモート接続し、次を実行することです。

git config --global http.sslVerify false

これにより、このインスタンスがSSL検証を行わないことをグローバル構成に保存します。これは推奨されません。テスト時にのみ使用し、再度無効にする必要があります。上記のように適切に行う必要があります。

15
JamesD

JGitを使用し、次の行で。gitconfigファイルをJENKINS_HOMEに作成することで修正できます。

[http]
sslVerify = false
2
Hemã Vidal

フリースタイルプロジェクトを作成し、「Windows Batch Command」を追加して、

git config http.sslVerify falseまたはgit config --config http.sslVerify false

これが完了したら、保存してジョブをビルドします

これで、ジェンキンは、SSL検証を実行しないように設定されました。ビルドが成功したら、バッチコマンドビルドステップを削除して、構成用に同じプロジェクトを編集できます。

2
ravi creed

補足するために、私は数時間これに固執しました、これはSSL関連で見つけたものです

加える

-Dorg.jenkinsci.plugins.getclient.GitClient.untrustedSSL=true 

パラメーターとしてJava jnlpコマンド、

環境変数としてGIT_SSL_NO_VERIFY = trueを設定するため、スレーブ側のstart slaveコマンドは次のようになります(一部のパラメーターが重複しているかどうかはわかりません)

export GIT_SSL_NO_VERIFY=true

Java -Dorg.jenkinsci.plugins.getclient.GitClient.untrustedSSL=true -jar slave.jar -jnlpUrl ${jenkins_url}/computer/${slave_name}/slave-agent.jnlp -secret ${secret} -noCertificateCheck

同じものが必要かもしれません

-noCertificateCheck

jenkins-cli.jarを呼び出そうとしているとき

(最大 https://blog.csdn.net/froghui/article/details/39641221

jenkinsスレーブがgit操作を開始するたびに、jenkins gitプラグインによって処理されるクリーンな環境になります。

1
Jack Wu

ログインするか、jenkinsユーザーに切り替えます。切り替えを行うには、端末で次のコマンドを実行します。

su - jenkins

そして、実行します

git config --global http.sslVerify false
0
Semih Kekül

同じ問題がありました。最初に、クローンまたはプルの前にSSL検証を無効にするシェルスクリプトを使用してGitを使用しました。

その後、私は代わりにJGitを使用するように切り替えました。ただし、JGitでは、浅いクローンなどの一部の機能はサポートされていません。

JGitを使用するために何もインストールする必要はありませんでした

0
Clayn