在Docker中运行Jenkins
打算在远程服务器上运行Jenkins,忽然发现git没有安装,搞了半天没有成功(各种依赖问题,条件限制不能重启机器),所以尝试通过Docker运行Jenkins
完整命令
下面首先提供完整执行命令,再依次介绍其中Jenkins配置
1 | $ docker run -d \ |
镜像
Jenkins提供了官方镜像 - jenkins/jenkins
- 使用稳定版:
docker pull jenkins/jenkins:lts - 使用最新版:
docker pull jenkins/jenkins
启动jenkins
docker命令如下:
1 | $ docker run -p 7070:8080 -p 50000:50000 jenkins/jenkins |
其可通过浏览器登录:http://192.xx.xx.xx:7070/
保存数据
Jenkins所有配置数据保存在路径/var/jenkins_home,可以使用一个卷保存配置数据,方便复用和移植操作
1 | $ docker run -p 7070:8080 -p 50000:50000 -v jenkins_home:/var/jenkins_home jenkins/jenkins |
docker会生成一个新卷jenkins_home,可通过docker volume ls查看
1 | $ docker volume ls |
后台运行
添加参数-d,设置容器在后台运行
1 | $ docker run -d -p 7070:8080 -p 50000:50000 -v jenkins_home:/var/jenkins_home jenkins/jenkins |
可通过命令docker logs CONTAINER_ID查询输出日志(比如初始密码)
1 | $ docker logs b79 |
设置执行器数量
jenkins默认允许2个执行器,可通过groovy脚本设置。新建脚本executors.groovy如下:
1 | import jenkins.model.* |
新建Dockerfile
1 | FROM jenkins/jenkins:lts |
重新编译生成新的Jenkins镜像
镜像升级
所有数据均保存在/var/jenkins_home,通过上节卷的方式保存数据,再次执行docker pull jenkins/jenkins即可升级到最新的Jenkins