Help us understand the problem. What is going on with this article?

Docker で Jenkins 環境をつくる

More than 5 years have passed since last update.

Jenkins の永続的な運用環境を Docker でつくってみるメモ。CoreOS 使っています。

イメージ取得

Jenkins は公式イメージが提供されているので、こちらを使用します:

core@coreos ~ $ docker search jenkins
NAME                                  DESCRIPTION                                     STARS     OFFICIAL   AUTOMATED
jenkins                               Official Jenkins Docker image                   248       [OK]   

タグは latest より weekly のが新しい:

docker pull jenkins:weekly

コンテナ実行

Jenkins サーバーをバックグラウンドコンテナとして起動します:

docker run -d -P -v /media/volume/jenkins_home:/var/jenkins_home jenkins:weekly
  • -v でデータボリューム /var/jenkins_home をホストの /media/volume/jenkins_home に割り当てている。
  • CoreOS 側で /media/volume に NFS で NAS をマウントしてデータの永続化を行なうようにしている。

ホストに割り当てられたポート番号をプロセス一覧から確認します:

core@coreos ~ $ docker ps
CONTAINER ID        IMAGE                        COMMAND                CREATED             STATUS              PORTS                                               NAMES
28435e837a3a        jenkins:1.596                "/usr/local/bin/jenk   21 seconds ago      Up 20 seconds       0.0.0.0:49182->8080/tcp, 0.0.0.0:49183->50000/tcp   furious_bartik   

これだと 49182 が HTTP 公開ポート、 49183 がスレーブサーバーとのコミュニケーション公開ポートとして割り当てらています。

あとは web ブラウザから Jenkins にアクセスします。アドレスは上記ポート番号を指定して下記のような感じです:

http://192.168.0.98:49182/

Jenkins は標準で /var/jenkins_home 以下に全てのデータが格納されるので、このパスをデータボリュームにして分離してやれば、データの永続化とコンテナのポータビリティが簡単に担保できます。

japboy
無気力。
ikyu
「こころに贅沢を」をコンセプトに一休.com、一休レストランなどのサービスを提供しています。
https://www.ikyu.com
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away