LoginSignup
17
15

More than 5 years have passed since last update.

Docker で Jenkins 環境をつくる

Posted at

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 以下に全てのデータが格納されるので、このパスをデータボリュームにして分離してやれば、データの永続化とコンテナのポータビリティが簡単に担保できます。

17
15
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
17
15