#モチベーション
パッとローカルのwin10 PCによく使うPlugin入りのJenkinsを構築したい。
みんなで使うJenkinsさんはあるんだけど、ちょっと周りに迷惑かけずに試したいことがある時に、その時だけ使ってあとは捨てる前提。
手段は大きく分けると2つ。
1.Docker Image作っておいて、必要な時だけコンテナ起動
2.Ansibleなどの構成管理ツールで、自動で構築
机上で考えても両者の優越つけられなかったので、両方やってみましょう。
今回は1.のDocker編です。
#環境や前提条件
windows10 pro 1803
PowerShell
Docker 18.09.0
##まず素のJenkinsを動かしてみよう
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を作成
# 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 でマウントするオプション付きで、コンテナの起動する。
# docker run -it -d -v /c/docker/jenkins/home:/var/jenkins_home/ --name myjenkins-1 -p 8080:8080 myjenkins:1
コンテナに入り、Administrator passwordを確認
PS C:\docker\jenkins> docker exec -i -t myjenkins-1 bash
jenkins@b7fe956826b7:/usr/share/jenkins$ cat /var/jenkins_home/secrets/initialAdminPassword
42d3091b11634def8d58589b93102269
Pluginのinstallは自動化したいので、Select Pluginsを選択し、
PluginsのDownloadでエラーがでるけど、気にしないことに。
「jobb」というjobを作って一回起動してみた。(画面は省略)
windowsフォルダを確認すると、jobbのworkspaceが作れていることがわかる。
試しにコンテナを削除してみる
# docker rm -f xxxx(コンテナ名)
windowsフォルダにはファイルは保持されてるので、
同じイメージを使って別のコンテナを起動しても、
# docker run -it -d -v /c/docker/jenkins/home:/var/jenkins_home/ --name myjenkins-1 -p 8080:8080 myjenkins:1
データが消えてないので、先ほど設定した情報はそのままでJenkinsが使える。
#次回予告
Plugin Installの自動化
セットアップウィザードの無効化
を実施したい。