用docker镜像搭建jenkins
使用docker镜像搭建的好处:安装简单,环境隔离
踩坑点:
-
配置镜像
-
脚本编写
-
pom文件未加配置
这个配置导致后面都没跑起来
大致流程:
安装jenkins镜像 => 安装插件 maven-integration => 绑定码云 => 创建maven项目测试
安装 jenkins 镜像
docker命令挂载
否则容器内部无法使用docker命令
docker run -d --restart=unless-stopped --name jenkins_954L -u root -v $(which docker):/usr/bin/docker -v /var/run/docker.sock:/var/run/docker.sock -v /usr/local/dockerinfo/jenkins:/var/jenkins_home -p 28080:8080 -p 50000:50000 jenkinszh/jenkins-zh
-u root
# 使用root身份去运行,避免无法执行宿主机的docker命令
-v $(which docker):/usr/bin/docker
# 将宿主机的docker命令目录挂载到jenkins容器内部
# $(which docker):动态获取当前docker命令目录
-v /var/run/docker.sock:/var/run/docker.sock
# 挂载docker容器进程通信文件到容器内
# docker.sock文件官方解释:It’s the unix socket the Docker daemon listens on by default and it can be used to communicate with the daemon from within a container.
-v /usr/local/dockerinfo/jenkins:/var/jenkins_home
# 挂载jenkins的数据目录
jenkinszh/jenkins-zh
# 为什么没用jenkins镜像,而用jenkins-zh?
# 看这个-zh也很明白了,这是中文的意思。
# 主要目的不止这个,因为jenkins的插件默认下载地址是:https://www.google.com/,这个在国内无法访问的。
# 而jenkins中文社区提供的-zh的镜像默认的下载地址是国内镜像地址。
# 也有很多别人基于jenkins二次打包,这些坑都填好了,但是我个人比较喜欢用官方的东西,不喜欢别人二次打包的镜像。
# 主要里面可能加了作者认为你需要但你并不需要的插件或者其他服务在里头,我比较喜欢自己搞。
# jenkins中文社区地址:https://jenkins-zh.cn/
下载完后进入挂载点修改镜像
cd /usr/local/dockerinfo
默认是国外的镜像,后面根本下载不下来
进入宿主机挂载=>修改jenkins.model.JenkinsLocationConfiguration.xml内容改为:
http://mirror.xmission.com/jenkins/updates/update-center.json
手动使用 rsa 配置 ssh 码云配置 ssh
私钥放jenkins,公钥放码云用于后续连接
私钥放这
创建 maven 项目
源码拉取码云项目即可,拉取之后构建即可
绑定 webhooks
即可实现自动监听打包部署