| ページ一覧 | ブログ | twitter |  書式 | 書式(表) |

MyMemoWiki

「Jenkins」の版間の差分

提供: MyMemoWiki
ナビゲーションに移動 検索に移動
89行目: 89行目:
 
====Jenkins homeディレクトリへのアクセス====
 
====Jenkins homeディレクトリへのアクセス====
 
*docker run で、Jenkinsのホーム・ディレクトリ(/var/jenkins_home)をマッピングした場合、ローカルマシンからアクセスできる
 
*docker run で、Jenkinsのホーム・ディレクトリ(/var/jenkins_home)をマッピングした場合、ローカルマシンからアクセスできる
 +
====Jenkins Setup====
 +
----
 +
*[[File:jenkins_password.png|500px]]
 +
*
 
<pre>
 
<pre>
 
$ docker logs jenkins-blueocean
 
$ docker logs jenkins-blueocean
 
</pre>
 
</pre>
 +
[[File:jenkins_log_password.png|500px]]

2021年5月27日 (木) 15:07時点における版

| Docker |

Jenkins

Install(Docker)


ブリッジネットワークの作成

  1. $ docker network create jenkins

Jenkins内部からDockerを利用可能にする


  • Docker in Docker docker:dind
    • Docker コンテナ(Jenkins 稼動)上で Docker コンテナ(テスト用DB 稼動)を動かすことになります。これを Docker in Docker といいます
    • Jenkins コンテナのベースイメージとして docker:dind を使用すると、コンテナ上から docker を実行できるようになります
  1. $ docker run \
  2. --name jenkins-docker \
  3. --rm \
  4. --detach \
  5. --privileged \
  6. --network jenkins \
  7. --network-alias docker \
  8. --env DOCKER_TLS_CERTDIR=/certs \
  9. --volume jenkins-docker-certs:/certs/client \
  10. --volume jenkins-data:/var/jenkins_home \
  11. --publish 2376:2376 \
  12. docker:dind \
  13. --storage-driver overlay2
  • 確認
  1. $ docker ps
  2. CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
  3. f15315bf5752 docker:dind "dockerd-entrypoint.…" 6 minutes ago Up 6 minutes 2375/tcp, 0.0.0.0:2376->2376/tcp, :::2376->2376/tcp jenkins-docker

公式Dockerイメージをカスタマイズ

  • 以下の内容を、”Dockerfile" として保存
  1. FROM jenkins/jenkins:2.277.4-lts-jdk11
  2. USER root
  3. RUN apt-get update && apt-get install -y apt-transport-https \
  4. ca-certificates curl gnupg2 \
  5. software-properties-common
  6. RUN curl -fsSL https://download.docker.com/linux/debian/gpg | apt-key add -
  7. RUN apt-key fingerprint 0EBFCD88
  8. RUN add-apt-repository \
  9. "deb [arch=amd64] https://download.docker.com/linux/debian \
  10. $(lsb_release -cs) stable"
  11. RUN apt-get update && apt-get install -y docker-ce-cli
  12. USER jenkins
  13. RUN jenkins-plugin-cli --plugins "blueocean:1.24.6 docker-workflow:1.26"
  • "myjenkins-blueocean:1.1" など意味のあるタグを付与して実行
  1. $ docker build -t myjenkins-blueocean:1.1 .

Dockerコンテナとして実行

  1. $ docker run \
  2. --name jenkins-blueocean \
  3. --rm \
  4. --detach \
  5. --network jenkins \
  6. --env DOCKER_HOST=tcp://docker:2376 \
  7. --env DOCKER_CERT_PATH=/certs/client \
  8. --env DOCKER_TLS_VERIFY=1 \
  9. --publish 8080:8080 \
  10. --publish 50000:50000 \
  11. --volume jenkins-data:/var/jenkins_home \
  12. --volume jenkins-docker-certs:/certs/client:ro \
  13. myjenkins-blueocean:1.1
  • 確認
  1. $ docker ps
  2. CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
  3. 295ed6908221 myjenkins-blueocean:1.1 "/sbin/tini -- /usr/…" 4 seconds ago Up 3 seconds 0.0.0.0:8080->8080/tcp, :::8080->8080/tcp, 0.0.0.0:50000->50000/tcp, :::50000->50000/tcp jenkins-blueocean
  4. f15315bf5752 docker:dind "dockerd-entrypoint.…" 6 hours ago Up 6 hours 2375/tcp, 0.0.0.0:2376->2376/tcp, :::2376->2376/tcp jenkins-docker

Dockerコンテナに接続

  1. $ docker exec -it jenkins-blueocean /bin/bash
  2. jenkins@295ed6908221:/$

Jenkins homeディレクトリへのアクセス

  • docker run で、Jenkinsのホーム・ディレクトリ(/var/jenkins_home)をマッピングした場合、ローカルマシンからアクセスできる

Jenkins Setup


  • Jenkins password.png
  1. $ docker logs jenkins-blueocean

Jenkins log password.png