Jenkinsを構築してみる


jenkinsをdockerで立ててみる

  • jenkinsのダウンロード
    • 下記コマンドでダウンロードする。
dev@devPC % docker pull jenkins/jenkins
  • jenkins/jenkinsを指定している理由は、jenkinsだけだと、開発が2年前くらいから行われていないものだからです。
    - 検索ワード: docker image jenkins
    - 公式ページを参考にしてください。

    • jenkins/jenkinsを指定することで、community版をダウンロードできます。⭐︎重要

初期の状態では、docker imgesでイメージがありませんでしたが、docker pull コマンドを叩いたので、jenkinsのdocker imageがダウンロードされました。

dev@devPC % docker images
REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
dev@devPC vscode % docker pull jenkins/jenkins
Using default tag: latest
latest: Pulling from jenkins/jenkins
3192219afd04: Pull complete 
17c160265e75: Pull complete 
cc4fe40d0e61: Pull complete 
9d647f502a07: Pull complete 
d108b8c498aa: Pull complete 
1bfe918b8aa5: Pull complete 
dafa1a7c0751: Pull complete 
c7ea2536eca3: Pull complete 
93cd9802fbf0: Pull complete 
914e80de9b11: Pull complete 
f9f7636976c7: Pull complete 
481a5bdd1dbb: Pull complete 
aed9f0ab04f0: Pull complete 
8a5abf9ab74a: Pull complete 
762802bacf71: Pull complete 
0f1b2057bd27: Pull complete 
36767acdbd7f: Pull complete 
094c8277f52e: Pull complete 
bb82181bc497: Pull complete 
Digest: sha256:a65adcb008637acdeffb81c1295ad16c0d4c9b550de4a9ebe6e22798854a9417
Status: Downloaded newer image for jenkins/jenkins:latest
docker.io/jenkins/jenkins:latest
dev@devPC vscode % docker images 
REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
jenkins/jenkins     latest              cf9ba86fd2ce        31 hours ago        619MB
dev@devPC % 
  • docker imagesはdockerのimageを確認するコマンドです。
    • 検索ワード:docker images コマンド

これで、自分のPCにjenkinsを建てるためのimageをダウンロードすることができました。

Jenkinsを立ててみる。

Jenkinsのイメージがダウンロードできたら、Jenkinsを動かしてみようと思う。Jenkinsを実行するときのコマンドについては、Docker hubの公式ページで、jenkins/jenkinsのタグを検索してください。jenkins/jenkinsのページの下の方に、read documentation for usageがあるので、そこんリンクに行ってください。そこに起動のコマンドが書いてあります。
私は下記のコマンドで立てました。

# docker run -d --name jenkins_kun -v /Users/dev/jenkins:/var/jenkins_home -p 48080:8080 -p 50000:50000 jenkins/jenkins

実行結果はこちら

dev@devPC jenkins % docker run -d --name jenkins_kun -v /Users/dev/jenkins:/var/jenkins_home -p 48080:8080 -p 50000:50000 jenkins/jenkins
f724fb7e5b604931cc35f0e9c93c56574e7d62e11336db8dfa25272a5179cbac
dev@devPC jenkins % docker ps 
CONTAINER ID        IMAGE               COMMAND                  CREATED             STATUS              PORTS                                               NAMES
f724fb7e5b60        jenkins/jenkins     "/sbin/tini -- /usr/…"   2 seconds ago       Up 2 seconds        0.0.0.0:50000->50000/tcp, 0.0.0.0:48080->8080/tcp   jenkins_kun
dev@devPC jenkins

オプションについてはこちら
-d:デタッチモードで起動する。containerから抜けたりしたときに止まらない。

--name:名前指定する。今回はjenkins_kunと言う名前にしました。名前を付けない場合には、docker engineが自動でつけてくれます。name-generatorなるものがあって、それから生成されているらしい。

-v:dockerホストのディレクトリをバインドする。基本的に、データはコンテナのなかに生成して、コンテナを破棄するときになくなります。ホストとコンテナをバインドしておけば、ホスト側にデータが残ります。
jenkinsのデータは、全てコンテナないの/var/jenkinsのなかに格納されているので、ホストの自分の好きなところ(今回私が指定したのは、/User/dev/jenkins)と書いておけば、まあ良い。

-p:ポートの設定。ホストPCの48080にアクセスすると、コンテナないの8080ポートにアクセスできる。JenkinsとかGitlabとかたくさん立てようと考えているので、今回は48080ポートをJenkinsのポートにしてみました。50000はjenkinsの起動のReadmeに書いてあったので、書きました。

動いているので、localhost:48080でアクセスする。
アクセスしたら、パスワード入力を求められるので、コンテナのなかに入って、パスワードを見る必要がある。
下記コマンドで、コンテナのなかに入ることができる。場所は画像に書いてある場所である。

docker exec -it jenkins_kun /bin/bash

また、jenkns_homeはホスト側にマウントしてあるので、そこを参照することも可能である。

このあと、おすすめのプラグインのダウンロードとインストールを走らせる。おすすめを走らせたときにインストールされるプラグインはこれらである。

LDAPとかPipelineとかGitなどがはいっていますね。

dockerの詳細については、ここでは述べませんが、dockerにはイメージとコンテナの概念があリます。それぞれの、詳細については、次の検索ワードで検索すれば良いです。

  • docker コンテナ イメージ 違い

そのうち、自分なりにまとめて、あとで述べたいと思います。

終わり