2017-08-07 1 views
0

私はジェンキンスに問題があります。Jenkinsの内部JDKにカスタム証明書を追加する方法は?

マスター/スレーブ環境(マスター:Debianなし、スレーブ1:Windows 8ワーカー、Slave2:Debian 8ワーカー)で現在のLTSビルド(2.60.2)を使用しています。

Jenkins MasterはSSLを使用して通信を保護し、正常に動作するように設定されています。他のサーバー(SonarQube、Nexus)はカスタムSSL証明書を使用して、これらのシステムとの通信を保護します。

今、問題があります。 Gradleを使用して私のビルドパイプラインは、CACERTのルート証明書でJDKを使用して、SSLで保護されたシステムと正しく通信する必要があります。私がGoogleによって見つけることができるこの唯一の解決策は、JDKをインストールした後で証明書をトラストストアに追加することでした。 JDKを更新するたびにこれをやり直さなければなりません。

このソリューションは正常に動作しますが、JDKを最新の状態に保つための望ましい動作ではありません。 Jenkinsの内部(ビルド)JDKにルート証明書を自動的に追加する可能性はありますか、それとも手動ですべてのサーバーに手動で追加する必要がありますか?

ご協力いただきありがとうございます。

ユアーズ

クリスチャン

答えて

1

あなたの代わりに、デフォルトのJDKファイルに頼るのカスタムトラスト/キーストアを使用するようにJVMプロセスを設定することができます。

私は別のトラストストア/キーストアファイルを指していることを話しています(あなたはどこにいてもかまいませんし、jdkアップグレードで上書きされません)。

一部の情報here(たとえば、javax.net.ssl.truststoreプロパティ)。

+0

私たちはこれを試しました。ジェンキンスパイプラインで独立したJavaプロセスを生成するプロセスが存在しない限り、かなりうまく動作します。新しいコールでも情報を取得する必要があります。その後、それは動作します。 –

+0

私たちにとっては、当社のQSの承認を得てJDKをリリースすることに切り替えました。私たちのシナリオでは、より良い解決策です。だからあなたのやり方はうまくいくが、内部分析は私たちと別の方法で生まれた... –

関連する問題