「Jenkins」Dockerイメージを使ってJenkinsの環境を構築する

Jenkins の環境構築メモ。
といっても Docker イメージ使ってるのでさくっとできます(Docker 超便利)。

Official Jenkins Docker image

1. コンテナにマウントするためのディレクトリを作成

Jenkins の設定等が保存されるディレクトリはコンテナ停止後も保存しておきたいので、コンテナにマウントするためのディレクトリをあらかじめ作成しておきます。 これやらないとコンテナ停止とともに Jenkins の設定が消えるので次回起動時にまたユーザ作成、プラグインのインストールから・・・となるので忘れずやっておく。

# mkdir /root/jenkins
# chown -R 1000:1000 /root/jenkins

chown もやっておく必要があるみたいです。

touch: cannot touch ‘/var/jenkins_home/copy_reference_file.log’: Permission denied · Issue #493 · jenkinsci/docker · GitHub

2. コンテナの起動

1 で作成したディレクトリをコンテナにマウントするようにして起動します。

# docker run -d -v /root/jenkins:/var/jenkins_home -p 8080:8080 -p 50000:50000 jenkins/jenkins:lts
Running from: /usr/share/jenkins/jenkins.war
webroot: EnvVars.masterEnvVars.get("JENKINS_HOME")
Nov 04, 2018 3:04:07 AM org.eclipse.jetty.util.log.Log initialized

  ...

*************************************************************
*************************************************************
*************************************************************

Jenkins initial setup is required. An admin user has been created and a password generated.
Please use the following password to proceed to installation:

74e4b014cf3649d1a3b681282b98ad64

This may also be found at: /var/jenkins_home/secrets/initialAdminPassword

*************************************************************
*************************************************************
*************************************************************

--> setting agent port for jnlp
--> setting agent port for jnlp... done
Nov 04, 2018 3:04:32 AM hudson.model.UpdateSite updateData
INFO: Obtained the latest update center data file for UpdateSource default
Nov 04, 2018 3:04:32 AM hudson.model.UpdateSite updateData
INFO: Obtained the latest update center data file for UpdateSource default
Nov 04, 2018 3:04:32 AM jenkins.InitReactorRunner$1 onAttained
INFO: Completed initialization
Nov 04, 2018 3:04:32 AM hudson.WebAppMain$3 run
INFO: Jenkins is fully up and running
Nov 04, 2018 3:04:33 AM hudson.model.DownloadService$Downloadable load
INFO: Obtained the updated data file for hudson.tasks.Maven.MavenInstaller
Nov 04, 2018 3:04:33 AM hudson.model.AsyncPeriodicWork$1 run
INFO: Finished Download metadata. 14,526 ms


「INFO: Finished Download metadata. 14,526 ms」ここまで出力されればとりあえず Jenkins に接続 (http://<IPアドレス>:8080) できるはずです。 最初に Administrator のパスワードを求められますが、コンソールに出力されている 「74e4b014cf3649d1a3b681282b98ad64」 の部分です。 あとはユーザ作成なり、プラグインインストールなり誘導通り進めればOkです。


コンテナ停止後、再度起動する場合はマウントするディレクトリの指定を忘れないこと。

# docker run -d -v /root/jenkins:/var/jenkins_home -p 8080:8080 -p 50000:50000 jenkins/jenkins:lts


とても簡単ですね。以上です。

[環境情報]
CentOS 7
Docker version 1.13.1
Jenkins: 2.138.2