自动化部署(持续集成 / CI + 持续交付 / CD)不仅可以提升开发效率,让程序员更专注产品与业务的开发,还可以节省很多运维成本以及提升运维效率。其中,Jenkins 是自动化部署中最流行的工具,尤其是 Docker+Jenkins 的完美搭配,每个程序员都应该掌握这两个工具的使用。
环境配置
1 2 3
| 操作系统:CentOS Linux release 7.6.1810 Docker 版本:19.03.5 Jenkins 版本:2.204.1
|
Docker 安装 Jenkins
Docker 下载 Jenkins
1
| docker pull jenkins/jenkins:lts
|
查看 Jenkins 镜像
1 2
| docker images docker inspect jenkins镜像ID
|

创建一个 Jenkins 目录
1
| mkdir /data/jenkins_home;
|
安装启动 Jenkins 容器
1 2 3 4 5 6 7
| docker run -d --name jenkins -p 8081:8080 -v /data/jenkins_home:/var/jenkins_home jenkins/jenkins:lts; 备注: -d //启动在后台 --name //容器名字 -p //端口映射(8081:宿主主机端口,8080:容器内部端口) -v //数据卷挂载映射(/data/jenkins_home:宿主主机目录,另外一个即是容器目录) enkins/jenkins:lts //Jenkins镜像(最新版)
|
查看 Jenkins 启动情况
1
| docker ps | grep jenkins;
|

安装过程遇到的小问题
Jenkins 容器 docker run 之后状态总是 Exited
1 2 3 4
| 查看docker日志 : docker logs jenkins 发现是目前权限问题 因为/data/jenkins_home 目录是root权限
|


1 2
| 解决: chown -R 1000:1000 /data/jenkins_home
|

宿主主机端口要开启
1
| 因为本操作是在阿里云ECS上进行安装的,需要在安全组里开放8081此端口。
|
访问 Jenkins
1
| http://120.26.50.165:8081 //ip:端口号
|
管理配置 Jenkins
解锁
1 2 3 4 5
| 在安装完成后,默认生成了一个登录密码,首次登录需要这个密码。 密码路径:var/jenkins_home/secrets/initialAdminPassword //容器内部 查找密码: docker exec -it jenkins_01 bash cat /var/jenkins_home/secrets/initialAdminPassword
|

安装插件
1
| 新手安装建议选择:Install suggested plugins,安装过程大概半个多小时。
|


管理用户创建

Jenkins 配置完成
1 2
| 到此步,安装就大功告成! http://120.26.50.165:8081 //ip:端口号
|

