通过docker-compose搭建jenkins
1.下载jenkins镜像
sudo docker pull docker.io/jenkins/jenkins
2.创建工作目录
创建文件夹作为maven的工作目录
mkdir /home/jenkins_home
cd /home/jenkins_home
3.安装其他依赖
安装jdk/Maven/Git,并记录其工作目录
3.创建docker-compose.yml文件
文件内容:
version: '3.5'
services:
jenkins:
restart: always
image: jenkins/jenkins
container_name: jenkins
ports:
# 发布端口
- 9095:8080
# 基于 JNLP 的 Jenkins 代理通过 TCP 端口 50000 与 Jenkins master 进行通信
- 50000:50000
environment:
TZ: Asia/Shanghai
volumes:
- /home/jenkins_home:/var/jenkins_home
- /home/maven_home/apache-maven-3.8.5:/var/maven
- /home/java/jdk1.8:/var/jdk
- /usr/bin/git:/var/git
volumes为挂载数据卷
格式:- source路径:容器内路径
其中/home/maven_home/apache-maven-3.8.5为maven的安装路径
/home/java/jdk1.8为jdk的安装路径
/usr/bin/git为git的安装路径
4.启动jenkins容器
执行命令
sudo docker-compose up -d
查看启动日志
sudo docker logs -f jenkins
如果出现报错:
Can not write to /var/jenkins_home/copy_reference_file.log. Wrong volume permissions?
touch: cannot touch '/var/jenkins_home/copy_reference_file.log': Permission denied
需要执行以下命令
chown -R 1000:1000 /home/jenkins_home/
重新启动jenkins
docker-compose up --detach --build jenkins
5.访问jenkins
地址:http://ip:9095/
首次进入需要密码,获取密码方式(容器内执行,也可以通过挂载的卷查询)
cat /var/jenkins_home/secrets/initialAdminPassword
6.配置maven和jdk
不使用自动安装,相关路径为yml文件中挂载的容器内路径