目录
基于Jenkins构建微服务发布平台
❖ 发布流程设计
❖ 准备基础环境:Harbor、Gitlab、Jenkins
❖ Jenkins在K8s中动态创建代理
❖ Jenkins Pipeline流水线
❖ 流水线自动发布微服务项目
❖ 项目发布失败回滚
发布流程设计
准备基础环境
• Harbor镜像仓库
• Gitlab代码仓库
• Jenkins 发布系统
Harbor镜像仓库
项目地址:https://github.com/goharbor/harbor
部署步骤:
# tar zxvf harbor-offline-installer-v2.0.0.tgz
# cd harbor
# cp harbor.yml.tmpl harbor.yml
# vi harbor.yml
hostname: 192.168.31.90
https: # 先注释https相关配置
harbor_admin_password: Harbor12345
# ./prepare
# ./install.sh --with-chartmuseum
# docker-compose ps
Gitlab代码仓库
Docker部署Gitlab代码仓库:
# tar zxvf harbor-offline-installer-v2.0.0.tgz
# cd harbor
# cp harbor.yml.tmpl harbor.yml
# vi harbor.yml
hostname: 192.168.31.90
https: # 先注释https相关配置
harbor_admin_password: Harbor12345
# ./prepare
# ./install.sh --with-chartmuseum
# docker-compose ps
访问地址:http://IP:88
初次会先设置管理员密码 ,然后登陆,默认管理员用户名 root,密码就是刚设置的。
然后,在Gitlab创建一个项目,提交微服务项目代码。
Jenkins 发布系统
先安装后面所需的插件:
管理Jenkins->系统配置-->管理插件-->分别搜索插件名,选中点击安装。
- Git:拉取代码
- Git Parameter:Git参数化构建
- Pipeline:流水线
- kubernetes:连接Kubernetes动态创建Slave代理
- Config File Provider:存储配置文件
- Extended Choice Parameter:扩展选择框参数,支持多选
Jenkins在K8s中动态创建代理
• Jenkins主从架构介绍
• Kubernetes插件配置
• 自定义Jenkins Slave镜像
• 测试主从架构是否正常
Jenkins主从架构介绍
Jenkins Master/Slave架构,Master(Jenkins本身)提供Web页面 让用户来管理项目和从节点(Slave),项目任务可以运行在Master 本机或者分配到从节点运行,一个Master可以关联多个Slave,这样 好处是可以让Slave分担Master工作压力和隔离构建环境。