Jenkins
拉取镜像
docker pull jenkins/jenkins:lts
docker-compose.yml文件
注
端口映射8081是因为本人使用的宿主机上8080端口已经被其他应用程序占用
version: '3.1'
services:
jenkins:
image: jenkins/jenkins:lts
container_name: jenkins
volumes:
- /data1/data/jenkins/:/var/jenkins_home
- /var/run/docker.sock:/var/run/docker.sock
- /usr/bin/docker:/usr/bin/docker
- /usr/local/bin/docker-compose:/usr/local/bin/docker-compose
- /data1/data/jenkins/usr/lib/x86_64-linux-gnu/libltdl.so.7:/usr/lib/x86_64-linux-gnu/libltdl.so.7
ports:
- "8081:8080"
expose:
- "8081"
- "50000"
privileged: true
user: root
restart: always
environment:
JAVA_OPTS: '-Djava.util.logging.config.file=/var/jenkins_home/log.properties'
注
为了在Jenkins容器内使用docker命令与docker-compose命令,这部分的宿主机数据卷挂载路径需按照docker及docker-compose在宿主机的实际安装路径来
- /var/run/docker.sock:/var/run/docker.sock
- /usr/bin/docker:/usr/bin/docker
- /usr/local/bin/docker-compose:/usr/local/bin/docker-compose
查看初始密码
# 进入jenkins容器内部
docker exec -it jenkins bash
# 查询初始密码
cat /var/jenkins_home/secrets/initialAdminPassword
注
如果在初始化过程中使用的是admin登录,那么后续登录的密码仍是初始密码
配置Maven
Jenkins构建镜像没有权限
解决方案
Jenkins数据卷挂载路径未包含正确的docker,具体请参照上述docker-compose.yml文件
打包部署
使用插件Version Number Plugin动态生成项目版本号
安装插件
构建环境变量
使用环境变量
结果展示
注:今天是2024.02.20
参考链接
【1】Jenkins+Docker 一键自动化部署 SpringBoot 项目