blog

DockerでJenkinsサーバーを構築する

Dockerを使用してJenkinsサーバを構築する際に踏んだ落とし穴とインストールプロセスを簡単に記録します。 Dockerを使用してJenkinsサーバを構築する際に踏んだ落とし穴を簡単に記録しま...

Mar 31, 2020 · 2 min. read
シェア

DockerでJenkinsサーバを構築する際の落とし穴とインストール手順について簡単に説明します。

ポットホールを踏み抜いて

jenkinsci/blueocean Imageを使用してサーバーを構築し、公式ドキュメントに従ってNode.jsを設定しましたが、npmコマンドでは次のようなエラーが発生します。

bash: ./node: No such file or directory

などに変更します。jenkins/jenkins:ltsイメージに変更すると、すべてがうまくいきます。jenkinsci/blueocean Imageは、Node.jsの実行を妨げるいくつかの依存関係を合理化したはずです。

インストールプロセス:

# ドッカーをプルする:dind Image
docker image pull docker:dind
# jenkinsをプルする/jenkins:lts Image
docker image pull jenkins/jenkins:lts
# jenkinsネットワークを作成する
docker network create jenkins
# データを永続化するためにjenkins-docker-certsボリュームを作成する。
docker volume create jenkins-docker-certs
# データを永続化するためにjenkins-dataボリュームを作成する。
docker volume create jenkins-data
# jenkins-dockerコンテナを起動し、JenkinsサーバーでDockerコマンドを実行する。
docker container run --name jenkins-docker --rm --detach \
 --privileged --network jenkins --network-alias docker \
 --env DOCKER_TLS_CERTDIR=/certs \
 --volume jenkins-docker-certs:/certs/client \
 --volume jenkins-data:/var/jenkins_home \
 --publish  docker:dind
# jenkinsコンテナを有効にし、サーバーのタイムゾーンをアジアに変更する。/Tokyo
docker container run --name jenkins --rm --detach \
 --network jenkins --env DOCKER_HOST=tcp://docker:2376 \
 --env DOCKER_CERT_PATH=/certs/client --env DOCKER_TLS_VERIFY=1 \
 --env JAVA_OPTS=-Duser.timezone=Asia/Tokyo \
 --volume jenkins-data:/var/jenkins_home \
 --volume jenkins-docker-certs:/certs/client:ro \
 --publish  --publish 000 jenkins/jenkins:lts
Read next

バックエンドのXSS攻撃対策

もしパラメータを変更したいのであれば、クラスをデコレーションすることで、 必要に応じてデコレーション・クラスのメソッドを書き換えるだけです。

Mar 30, 2020 · 5 min read