4
6

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

【2018年版】Docker+Rancher+JenkinsなCI環境を構築する

Posted at

はじめに

システム開発で環境構築に時間をかけるなんてダサい時代になりました。
ってことで、CI環境もサクッと準備しちゃいましょう。
今回は、サラのCentOS7にDocker/Rancher/Jenkinsをセットアップしてみたいと思います。

セットアップ

CentOS7はインストール済みとします。
SSH等でログインしておいてください。

Dockerをインストールする

まずはDocker-CEをインストールします。
公式サイトのコマンドをチャチャっと打ち込んでいきます。

$ sudo yum install -y yum-utils \
  device-mapper-persistent-data \
  lvm2

$ sudo yum-config-manager \
    --add-repo \
    https://download.docker.com/linux/centos/docker-ce.repo

$ sudo yum install docker-ce

$ sudo systemctl start docker

docker-composeコマンドも入れておきます。

$ sudo curl -L "https://github.com/docker/compose/releases/download/1.23.1/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose

$ sudo chmod +x /usr/local/bin/docker-compose

/usr/local/bin にパスが通っていない場合はパスを通します。

$ echo export PATH='/usr/local/bin:$PATH' >> ~/.bash_profile

$ source ~/.bash_profile

バージョンを確認しておきます。

$ docker -v
Docker version 18.09.0, build 4d60db4

$ docker-compose -v
docker-compose version 1.23.1, build b02f1306

これでDockerの準備はOKです!

Rancherをインストールする

RancherはDockerのコンテナイメージが配布されています。
まずはサーバー側のコンテナを起動します。

なお、標準では8080ポートが使用されますが、よく使われるポート番号なので、ここでは9000ポートに差し替えています。

$ sudo docker run -d --restart=unless-stopped -p 9000:8080 rancher/server:stable

ブラウザでアクセスしてみます。
http://<DockerサーバーIP>:9000/
スクリーンショット 2018-11-11 23.22.35.png
※日本語化されていない場合は、画面右下から言語を選択できます。

次にホストを追加します。
スクリーンショット 2018-11-11 23.25.11.png
ここではサイトのアドレスを選択します。
サーバーとホストを同一のマシンに配置することも可能です。

こちらの画面の5番のコマンドをホストのPCで実行します。
スクリーンショット 2018-11-11 23.27.42.png

$ sudo docker run --rm --privileged -v /var/run/docker.sock:/var/run/docker.sock -v /var/lib/rancher:/var/lib/rancher rancher/agent:v1.2.11 http://192.168.0.10:9000/v1/scripts/FF89B185C7918681C347:1514678400000:lXr6i25oQ9mDsC7GYk4quVRplj0

ホストが追加されればOKです!
スクリーンショット 2018-11-11 23.30.28.png

Jenkinsをインストールする

Rancherにはあらかじめ便利なカタログが用意されています。
Jenkinsもカタログに登録されているため、ここから登録していきます。

スクリーンショット 2018-11-11 23.32.55.png

一番左のJenkins CI serverを選択します。

スクリーンショット 2018-11-11 23.35.32.png

ここでもポート番号が8080となっていますので、被らないよう9001を選択しています。

Rancherはコンテナの集まりをスタックとして管理できます。
スタックが起動したことを確認します。
スクリーンショット 2018-11-11 23.37.09.png

ポート番号の9001がリンクになっているのでクリックしてみます。

スクリーンショット 2018-11-11 23.41.09.png

Jenkinsが起動したようです。
管理者パスワードはコンテナ内のファイルに記載されているため、Rancherのシェルコンソールから確認してみます。

スクリーンショット 2018-11-11 23.42.53.png
$ cat /var/jenkins_home/secrets/initialAdminPassword
スクリーンショット 2018-11-11 23.44.04.png

確認できました。
ログインしてJenkinsの初期セットアップを進めます。

スクリーンショット 2018-11-11 23.45.25.png

Install suggested pluginsを選択します。

スクリーンショット 2018-11-11 23.50.57.png

おや?Pipelineがエラーになりました。
これはJenkinsのバージョンが古いためのようです。
しかし、Jenkinsの自動アップデートが有効になっていないため、下記を参考に自動アップデートを有効にします。

・・・ただし、Rancherのシェルコンソールからrootユーザーにsuできないため、下記のコマンドでrootにログインして操作します。

$ sudo docker exec -u 0 -it <コンテナID> bash
$ chown -R jenkins:jenkins /usr/share/jenkins

再度、Jenkinsの画面を開き、アップデートしてください。
スクリーンショット 2018-11-11 23.54.34.png

以上でJenkinsのインストールが完了です。

お疲れ様でした!

4
6
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
4
6

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?