WindowsでHTTPSを使用するようにJenkins CIをセットアップするにはどうすればよいですか?
-
24-10-2019 - |
質問
最近、WindowsにJenkins CIサーバーを設定しました。 Active Directory認証を使用するために、アクセスにHTTPS(SSL/TLS)が必要です。このセットアップを考えると、これを行うための推奨方法は何ですか?
解決
%jenkins_home%に移動し、jenkins.xmlを変更します。あなたが見るところ --httpPort=8080
に変更します --httpPort=-1 --httpsPort=8080
もちろん、ポートを何でも作ることができますが、私のテストでは(少し前に、変更された可能性があります) --httpPort=<something>
その後、ジェンキンスは常に8080を使用します。したがって、単に変更した場合 --httpPort=8080
に --httpsPort=8080
, 、ポート8080は引き続きHTTPを使用します。
また、独自の証明書を使用する場合は、このページの下部にいくつかの指示があります。
http://wiki.jenkins-ci.org/display/jenkins/starting++accessing+jenkins
他のヒント
走る:
keytool -genkey -keyalg RSA -keystore Jenkins.jks -alias [Name of website] -keysize 2048
それを覚えている質問に答えてください First and last name
WebサイトURLであり、小文字である必要があります。例:
build.jenkins-ci.org
State or province
省略できません。
走る:
keytool -certreq -Keystore jenkins.jks -alias [Name of website] -file jenkins.csr -keysize 2048
送信 Jenkins.csr
証明書プロバイダーに、 .p7b
拡張機能と始まり:
-----BEGIN PKCS #7 SIGNED DATA-----
注:通常、試用証明書は入手できません .p7b
フォーマットですが、組み合わせることができる場合があります .cer
このツールを使用して、成功を報告しましたが、私にとってはうまくいきませんでした。 (https://www.sslshopper.com/ssl-nverter.html)
走る:
keytool -import -trustcacerts -file jenkins.p7b -keystore jenkins.jks -alias [Name of website]
変更 arguments
jenkins.xmlのnodeは、次のように推進します。
<arguments>-Xrs -Xmx256m -Dhudson.lifecycle=hudson.lifecycle.WindowsServiceLifecycle -jar "%BASE%\jenkins.war" --httpPort=-1 --httpsPort=443 --httpsKeyStore="%BASE%\Cert\Jenkins.jks" --httpsKeyStorePassword=[Cert password from step 1]</arguments>
トラブルシューティング:
- ジェンキンスが最後の行を読み始めない場合
Jenkins.err.log
. - ジェンキンスが問題のために起動しなかった場合
Jenkins.xml
, 、置き換えます–
(奇妙なWindows Hyphen)実際の文字-
(ASCIIハイフン)。 - ジェンキンスが起動しますが、証明書がまだ悪いと読む場合は、
[Name of website]
ない実際のURLですhttps:
例:https://build.jenkins-ci.org
だろうbuild.jenkins-ci.org
. - それが問題でない場合は、検査してください
.jks
ファイルを使用しますKeyStore Explorer
. 。 「証明書階層」は、各証明書が別の証明書にネストされていることを示す必要があります。これは、CERTチェーンを説明するためです。それが互いに隣に証明書を示している場合、それは正しくありません。 - たとえば、特定のポート(443)で起動しない場合、IISまたは別のアプリが現在ポートを使用していないことを確認してください。
- PCでホストされているが別のPCではなくホストされているサイトを見ることができる場合は、ファイアウォールによってブロックされていないことを確認します。
ステップ1:ジェンキン名でパブリック証明書とプライベート証明書の両方を作成します(そうでない場合はキーソールファイルに変換)ステップ2:パブリック証明書をブラウザ証明書にインポートします。パブリックキーと秘密鍵。
手順については参照してください」JenkinsでHTTPSを有効にしますか?"