6.2.3. Gradle プロジェクトでの自己署名証明書の使用
内部アーティファクトリーポジトリーには、多くの場合、Java でデフォルトで信頼される認証局によって署名された証明書がありません。主に、企業内の認証局によって署名されるか、または自己署名されます。これらの証明書を Java トラストストアに追加して、これらを受け入れるようにツールを設定します。
手順
リポジトリーサーバーからサーバー証明書ファイルを取得します。通常、管理者は内部アーティファクトサーバーの証明書を OpenShift シークレットとして提供する必要があります (https://access.redhat.com/documentation/ja-jp/red_hat_codeready_workspaces/2.15/html-single/installation_guide/index#importing-untrusted-tls-certificates.adoc を参照してください)。関連するサーバー証明書は、ワークスペース内のすべてのコンテナーの
/public-certsにマウントされます。元の Java トラストストアファイルをコピーします。
$ mkdir /projects/maven $ cp $JAVA_HOME/lib/security/cacerts /projects/maven/truststore.jks $ chmod +w /projects/maven/truststore.jks証明書の Java トラストストアファイルへのインポート
$ keytool -import -noprompt -file /public-certs/nexus.cer -alias nexus -keystore /projects/maven/truststore.jks -storepass changeit Certificate was added to keystore-
トラストストアファイルを
/projects/gradle/truststore.jksにアップロードし、これをすべてのコンテナーで利用可能にします。
Gradle コンテナーにトラストストアファイルを追加します。
javax.net.sslシステムプロパティーをJAVA_OPTS環境変数に追加します。- mountSources: true alias: maven type: dockerimage ... env: -name: JAVA_OPTS value: >- -Duser.home=/projects/gradle -Djavax.net.ssl.trustStore=/projects/maven/truststore.jks -Djavax.net.ssl.trustStorePassword=changeit