使用场景
当 Github 发生 push 操作时,能够触发测试环境的持续集成。
步骤
- 搭建 master 节点
蜂巢在官方 jenkins 镜像的基础上
- 预先安装了 jenkins 的插件
- 预置了用户 (jenkins/jenkins)
jenkins节点分为
- master 节点
- slave 节点
Master/Slave 相当于 Server/Agent 的概念
- Master 节点提供 web 接口来让用户管理 job 和 slave
- job 可以运行在 master 本机也可以被分配到 slave 上运行
一个 master 可以关联多个 slave 来为不同的 job 或相同的 job 的的不同配置来服务。
master 作为管理角色,slave 执行构建工作
1.1 创建空间
为区别于其他服务建议在蜂巢中新建一个空间,如 ci,如图:
1.2 创建 master 服务
在空间 ci 下创建 jenkins master 服务
推荐使用有状态服务,使用有状态服务的优点如下:
- 有状态服务可以绑定公网 IP,公网 IP 可以用于 github 添加 webhook,
- 有状态服务可以挂载云硬盘,挂载云硬盘可以保证 jenkins 的配置数据不丢失。
创建服务,服务名称为 master,服务状态选择有状态,如图:
点击「下一步」,选择镜像public/jenkins:2.19.2,如图:
填写容器名称,如"master"
SSH 密钥部分不用操作,不建议新建密钥,不建议选择已经有的密钥,后期需要使用密钥时可在后期进行手动注入,具体可参考如何注入密钥
挂载数据盘部分选择新建云硬盘,可以命名为 master,如图:
挂载目录填写/var/jenkins_home/
挂载到这个路径的原因是 jenkins 的配置信息在路径/var/jenkins_home/下,这样 jenkins 的配置数据便存储在了云硬盘中。
后期需要重新建 master 节点时直接将之前的云硬盘挂载到路径/var/jenkins_home/即可,节省 jenkins 的配置操作。
如图:
启动命令选择默认命令。
环境变量和日志目录可以根据自己需要进行填写。
点击下一步,如图:
根据自己需要配置计费方式、规格、端口配置,确认配置信息后点击立即创建即可开始 master 服务的创建。
master 服务创建完成后,绑定弹性公网 IP,如图:
Attention
如果使用的是自己私网搭建的 github,需要确保搭建的 github 和 jenkins master 之间的网络连通。
如果是自己制作的镜像,建议不要将 Dockerfile 中配置的卷的挂载路径和云硬盘的挂载路径重合。
转载自 网易蜂巢-如何进行持续集成