CentOS上にDockerでJenkinsサーバを構築する

More than 1 year has passed since last update.

DockerもJenkinsも初めての超初心者です。

今回は、Windowsホスト上のVagrant CentOS環境への構築してみます。


準備


Vagrantの下準備

Vagrant環境じゃない人は読み飛ばしてください。


容量の追加

Vagrantゲストのディスク空き容量が少なかったので、予め追加しておきました。

↓参考にしました

http://qiita.com/koitaro/items/c8bf8eb1e67e78890a5c


Jenkins接続用のポートフォワード設定

VagrantホストのブラウザからJenkinsにアクセスできるよう、Vagrantfileに下記1行を追加しておきます


Vagrantfile

config.vm.network "forwarded_port", guest: 8080, host: 8080



Dockerのインストール

リポジトリを入れて起動設定まで


bash

sudo rpm --import http://dl.fedoraproject.org/pub/epel/RPM-GPG-KEY-EPEL-6

sudo yum -y install http://dl.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm
sudo yum -y install docker-io
sudo service docker start
sudo chkconfig docker on


Dockerイメージの作成

Dockerfileを作る


bash

vi Dockerfile



Dockerfile

FROM jenkinsci/jenkins:lts

# install via apt
USER root

# install jenkins plugins
COPY plugins.txt /usr/share/jenkins/plugins.txt
RUN /usr/local/bin/plugins.sh /usr/share/jenkins/plugins.txt

# drop back to the regular jenkins user - good practice
USER jenkins


ここでプラグインの設定ができるらしいけど、よくわからないのでとりあえず空のファイルを作ってビルド


bash

touch plugins.txt

sudo docker build -t jenkins .

ワークスペースを永続的にするため、-vでディスクマウントして起動

(ディレクトリはchownしておかないとtouch: cannot touch ‘/var/jenkins_home/copy_reference_file.log’Permission deniedと怒られてしまう)


bash

sudo mkdir /var/jenkins_home

sudo chown -R 1000 /var/jenkins_home
sudo docker run -p 8080:8080 -p 50000:50000 -v /var/jenkins_home:/var/jenkins_home -d jenkins


Jenkinsへアクセス


パスワード入力

ブラウザでIPアドレス:8080へアクセス

「Unlock Jenkins」の画面でパスワードを聞かれるので、マウントしたディレクトリから参照して入力


bash

cat /var/jenkins_home/secrets/initialAdminPassword



プラグインインストール(初期)

やっぱりよくわからないので「Install suggesed plugins」を選んでオススメを入れておく


管理者登録

こんな画面が出るので適当に登録

image.png

無事、Jenkinsの管理画面が表示されました

image.png


プラグインインストール

今度こそ必要なプラグインを入れましょう。

画面から「Jenkinsの管理」→「プラグインの管理」→「利用可能」を選択して、必要なプラグインをインストールします。

image.png

これで構築は完了!

これから、Jenkinsの使い方のお勉強。。