EC2とDockerで手軽にJenkinsを試す #1
第1回目はEC2へdockerをセットアップし、JenkinsのイメージをRunする。
Jenkinsの動作確認までをしていきたい。
第2回目でCodeシリーズあたりと連携をしていきたいと思う。
EC2へのDockerのインストール
そこら中に記事があるので、そちらを参照。
Jenkinsのセットアップ
jenkins blueoceanのダウンロード
docker pull jenkinsci/blueocean
Jenkins用のディレクトリ作成
mkdir ~/docker/jenkins
Imageの起動
こちらのサイトを多分に参考にさせて頂きました。
sudo docker run \ -u root \ --rm \ -d \ -p 8080:8080 \ -v $HOME/docker/jenkins:/var/jenkins_home \ -v /var/run/docker.sock:/var/run/docker.sock \ jenkinsci/blueocean
一行版。
sudo docker run -u root --rm -d -p 8080:8080 -v $HOME/docker/jenkins:/var/jenkins_home -v /var/run/docker.sock:/var/run/docker.sock jenkinsci/blueocean
Web画面でのJenkinsのセットアップ
上記設定で起動すれば、http://EC2-public-IP:8080にアクセスすると、初期画面が出る。 初期画面ではパスワードを入れろと言われるので、下記にあるパスワードを調べる。
cat ~/docker/jenkins/secrets/initialAdminPassword
入力してあげると、こんな画面が出る。
Install suggested pluginを選ぶと、インストールが進む。
インストールが終わると、初期ユーザー登録画面が出てくる。 ユーザ名やパスワードなどを登録する。
わーい。
Adminでログインになった場合
initial passwordを使ってLoginしたところ、Adminでログインになることがある。 その場合は、jenkinsの管理→ユーザーの管理からユーザーを作成しておけばOK。
Jenkinsの動作確認
まずは新規ジョブの作成→フリースタイル・プロジェクトのビルドを選ぶ。
ビルド手順の追加→シェルの実行を選択。
サンプルとして、Hello Worldの表示をテストしてみる。 下記のように入力し、保存。
ビルドを実行。ビルド履歴を確認。
コンソール出力を見ると、hello worldが出力されて、 エラーなくテストが成功していることがわかる。 ちなみに&JOB_NAMEはtestという新規ジョブを作ったため、その名前が出力されている。
付録(Dockerの便利コマンド)
# Imageのダウンロード docker pull <Image> # コンテナの一覧表示 docker ps -a # イメージの一覧表示 docker images # コンテナの削除 docker rm <container-ID> # イメージの削除 docker rmi <image-ID>