プラグインインストール済のJenkins 構築 Docker編 その1


モチベーション

パッとローカルのwin10 PCによく使うPlugin入りのJenkinsを構築したい。
みんなで使うJenkinsさんはあるんだけど、ちょっと周りに迷惑かけずに試したいことがある時に、その時だけ使ってあとは捨てる前提。
手段は大きく分けると2つ。
1.Docker Image作っておいて、必要な時だけコンテナ起動
2.Ansibleなどの構成管理ツールで、自動で構築
机上で考えても両者の優越つけられなかったので、両方やってみましょう。
今回は1.のDocker編です。

環境や前提条件

windows10 pro 1803
PowerShell
Docker 18.09.0

まず素のJenkinsを動かしてみよう

Dockerfileの準備

dockerfile
FROM jenkins:2.19.4
#COPY plugins.txt /usr/share/jenkins/ref/
#RUN /usr/local/bin/install-plugins.sh $(cat /usr/share/jenkins/ref/plugins.txt)

Dockerfileからdocker imageを作成

powershell
# cd C:\docker\jenkins
# docker build -t myjenkins:1 .
# docker images

REPOSITORY   TAG   IMAGE ID       CREATED         SIZE
myjenkins    1     f61635651954   2 years ago     714MB

jenkinsフォルダをwindows10から見れるように -v でマウントするオプション付きで、コンテナの起動する。

powershell
# docker run -it -d -v /c/docker/jenkins/home:/var/jenkins_home/ --name myjenkins-1 -p 8080:8080 myjenkins:1

コンテナに入り、Administrator passwordを確認

powershell
PS C:\docker\jenkins> docker exec -i -t myjenkins-1 bash
jenkins@b7fe956826b7:/usr/share/jenkins$ cat /var/jenkins_home/secrets/initialAdminPassword
42d3091b11634def8d58589b93102269

Administrator passwordを入力

Pluginのinstallは自動化したいので、Select Pluginsを選択し、

Install

PluginsのDownloadでエラーがでるけど、気にしないことに。

Continue

Save and Finish

Start using Jenkins

「jobb」というjobを作って一回起動してみた。(画面は省略)
windowsフォルダを確認すると、jobbのworkspaceが作れていることがわかる。

試しにコンテナを削除してみる

powershell
# docker rm -f xxxx(コンテナ名)

windowsフォルダにはファイルは保持されてるので、
同じイメージを使って別のコンテナを起動しても、

powershell
# docker run -it -d -v /c/docker/jenkins/home:/var/jenkins_home/ --name myjenkins-1 -p 8080:8080 myjenkins:1

データが消えてないので、先ほど設定した情報はそのままでJenkinsが使える。

次回予告

Plugin Installの自動化
セットアップウィザードの無効化
を実施したい。

関連投稿

プラグインインストール済のJenkins 構築 Docker編 番外編