【3分でわかる!】『DockerでのJenkinsインストール方法』〜書籍Jenkins実践入門より〜
読み終えるまで約3分⏰
どうも、ちゃんなるです。
前回に引き続きこの書籍を参考に学びます🙋♀️
今回は、Docker上でJenkinsを動かし、Jenkins学習のための準備をしたいと思います🔥
『Jenkins実践入門』
*Docker自体の導入方法や、Dockerコマンドに関しての説明は省略させていただきます🙇
実行環境について
今回、この記事を書くにあたって実際にDocker上にJenkinsの環境を構築しました。それに用いたホストマシンについて記載しておきます。
- MacBook Pro (15-inch, 2017)
- macOS Monterey Version 12.3
- Docker Desktop Version 4.5.0
Jenkins用のDockerイメージ取得
Dockerコンテナを起動するために、その元となるDockerイメージをローカル環境にダウンロードします。
Docker Hub*1という公式のDockerイメージ配布サイト上でJenkinsと検索します。
すると、一番上に公式っぽいのが出てくるのですが…要注意です。なんと「これは非推奨だからjenkins/jenkins:ltsって名前のイメージを使ってね」と書いてあります。
というわけで、下図のイメージ*2をローカルにプルしましょう。
ターミナルで下記コマンドを実行し、ローカルにイメージを持ってきましょう。
$ docker pull jenkins/jenkins:lts-jdk11
イメージをもとにJenkinsコンテナを起動
下記コマンドで、取得したイメージをもとにコンテナを起動しましょう。
$ docker run -p 8080:8080 -p 50000:50000 --restart=always -v <ホスト領域の絶対パス>:/var/jenkins_home jenkins/jenkins:lts-jdk11
ちなみに、--restart=always
とオプション指定をすることで、コンテナが停止した時に自動で再起動されるようになります。PCを再起動などした後にDockerを起動させると、Jenkinsコンテナの起動コマンドを実行せずとも自動で起動されるようになります。
また、-v <ホスト領域の絶対パス>:/var/jenkins_home
とオプションを指定することで、Jenkinsコンテナ内の/var/jenkins_home
ディレクトリ下で生成・更新された内容がホスト側にも共有され、コンテナのデータが永続化されます。次にコンテナを起動した際も同じデータが使えます(このオプションを指定しないと、コンテナを停止した時点でデータが失われることになります)。
Jenkinsへアクセス
コンテナが起動すると、http://localhost:8080/へアクセスすることでJenkinsを開くことができます。
初回アクセス
初回のアクセスではAdmin用のパスワードの入力を求められるので、入力します。パスワードは、コンテナ起動時のログに出力されているのでそれをみましょう(ターミナルにログが出力されてます)。または、コンテナ内の/var/jenkins_home/secret/initialAdminPassword
ファイル内に記載されているので参照してください。
初回ログイン後
下記のような画面が出てくるので、2つのうちどちらかを選択して進みましょう。個人的には左の『おすすめプラグインの導入』がいいと思います✌️
インストール後、『ユーザアカウントの作成』という選択肢が出てくるので、新規に作成するか、そのままAdminユーザで続けるかを選択し、進みましょう。
すると、下記のような画面になり、無事Jenkinsを開くことができます!
まとめ
今回は、Dockerを用いてJenkinsを起動しアクセスする方法を紹介しました。
「意外と簡単。」と思われたかもしれません。Jenkinsは簡単に導入でき、無料で使用できるCIツールなのです。
JenkinsはDocker経由でなくとも導入できます。本書では他にも、Windowsへ、CentOSへ、Tomcatへ導入する方法が書かれていました。気になる方はぜひ手にとってみてください🙋♀️
書籍情報
Jenkins実践入門改訂第3版 ビルド・テスト・デプロイを自動化する技術 (WEB+DB PRESS plusシリーズ) [ 川口耕介 ] 価格:3,278円 |
[改訂第3版]Jenkins実践入門 ーービルド・テスト・デプロイを自動化する技術【電子書籍】[ 川口耕介【監修】 ] 価格:3,278円 |