EC2インスタンスにJenkinsをコンテナで立ち上げる - tetsuyaf1100/hello-world GitHub Wiki
前提条件
docker docker-compose
docker-compose.yml 作成
docker-compose.yml
version: '3.5'
services:
jenkins:
image: jenkins:latest
container_name: jenkins
restart: always
ports:
- 3001:8080
environment:
JENKINS_OPTS: '--prefix=/jenkins'
volumes:
- /var/www/jenkins/home:/var/jenkins_home
Jenkinsディレクトリ権限変更
jenkinsユーザでないと、コンテナが立ち上がらず、エラーとなる。
コンテナ内のjenkinsユーザ1000:1000に権限変更する。
$ sudo su
# cd /var/www
# chown -R 1000:1000 jenkins
Jenkins起動
$ docker-compose up -d
$ docker-compose ps
Name Command State Ports
------------------------------------------------------------------------------------
jenkins /bin/tini -- /usr/local/bi ... Up 50000/tcp, 0.0.0.0:8080->8080/tcp
Jenkins update
jenkins.war をダウンロードし、配置すればアップデートする。
$ docker-compose exec -u root jenkins bash
(コンテナで実行)
$ cd /usr/share/jenkins/
$ wget http://mirrors.jenkins-ci.org/war/latest/jenkins.war
$ exit
$ docker-compose stop && docker-compose start
参考
- JENKINS_HOMEの構成
https://wiki.jenkins.io/display/JA/Administering+Jenkins
JENKINS_HOME
+- config.xml (Jenkinsの設定ファイル)
+- *.xml (他のシステム全体に関係する設定ファイル)
+- fingerprints (ファイルの指紋を保存)
+- plugins (プラグイン)
+- jobs
+- [JOBNAME] (各ジョブ毎のサブディレクトリ)
+- config.xml (ジョブ設定ファイル)
+- workspace (バージョン管理システム用のワークディレクトリ)
+- latest (成功した最新のビルドへのシンボリックリンク)
+- builds
+- [BUILD_ID] (各ビルド毎)
+- build.xml (ビルド結果のサマリー)
+- log (ログファイル)
+- changelog.xml (変更履歴)