1

私はJenkins 1.6からJenkins 2.0に移行しています。私はジェンキンスを作成して実行するためにドッカーを使用していました。Jenkins 2 override plugins.txt

変更不可能なジェンキンとして設定するために、すべてのxml設定ファイルをコピーし、plugins.txtを使用してすべての必要なプラグインをインストールしました。

しかし私たちはJenkinsを初期化して接続した後、パス内にある管理者パスワードを求めるウィザード画面しか表示しません。 パスワードを入力した後、彼はインストールプラグインを求めます。これは私がすでにインストールされていることを期待していました。

このウィザードを完了すると、plugins.txtリストにプラグインがインストールされていないか、ユーザーフォルダにすべてのユーザーが渡されます。

これを修正する方法はありますか。 Jenkins 1.6ではすべて正常に動作します。

答えて

2

あなたはどこにplugins.txtを入れますか? plugins.txtの内容は、画像を作成する際にジェンキンの内部にインストールされます。だからあなた自身のdockerfileでjenkins:2.0を再構築する必要があります。

FROM jenkins:2.0 
COPY plugins.txt /usr/share/jenkins/plugins.txt 
RUN /usr/local/bin/plugins.sh /usr/share/jenkins/plugins.txt 

plugins.txtスクリプトを同じフォルダに入れます。 docker build -t my-jenkins:2.0 .

であなたのイメージを構築するよりも、私のplugins.txt

greenballs:1.15 

の 内容私はあなたがあなたの仕事を移行する方法を知りませんが、私は古いジェンキンスコンテナを削除することが、持続的なドッキングウィンドウのボリュームを維持するような何かを思うだろう(またはあなたがマウントしているあなたのホスト上のマップされたフォルダ)。しかし、新しいジェンキンを構築した後、-vオプションを使用してジェンキンを起動して、古いボリュームにバインドします。

$ docker run -d -v /content-folder:/var/jenkins_home -p 8080:8080 my-jenkins:2.0 

Jenkinsは、既にインストールされているプラ​​グインと1.6構成の内容から始めます。

私はプラグインで部品をテストすることができ、それは私のために働いた。 docker buildの後、私はdocker run -d -p 8080:8080 my-jenkins:2.0を実行しました。そのコンテナのdocker logsをチェックしてinitialAdminPasswordを取得しました。エディタにプラグインをインストールせず、ジョブを作成しました。成功した後、私は青の代わりにグリーンボールを見た。

+0

私はそれを動作させるように管理し、解決策を閉じるのを忘れました – paul