一、现有项目代码库情况
二、Jenkins 创建的item情况
三、Jenkins CI/CD+gitlab+harbor自动部署实现功能和操作使用
四、Jenkins CI/CD自动部署原理
五、K8s支持现有域名情况
六、Harbor使用说明
七、附图:飞书报警截图 和 高亮显示截图 及 k8s截图
一、现有项目代码库情况
二、Jenkins 创建的item情况
item情况和现在项目开发定义git库名一样,如下
三、Jenkins CI/CD+gitlab+harbor自动部署实现功能和操作使用
piepline基本实现功能:
1、可以发布任何分支,或标签、或每次提交id 。
2、 pipeline通过调用webhook接口,再通过飞书机器人发送jenkins的构建信息到相应的飞书群(如正在构建的前后端代码名,第一几次构建,构建成功或失败等)。
3、 Jenkins每次发布的日志高亮显示,便于排查问题。
4、 回滚发布支持docker镜像回滚k8s方式。
5、 回滚发布支持传统基于git tag回滚、分支回滚、和 git每次提交id回滚。
操作使用(前后端一样啊):
四、Jenkins CI/CD自动部署实现原理
实现原理图(前后端一样啊):
前端:
后端:
实现原理(前后端一样啊):
正常发布:
Jenkins读取发布参数IMPLEMENT(默认deploy)---分支参数BRANCH---- pipeline读取git代码 ---- copy config(git实现配置中心,由于目前没有类似微服务配置中心)----编译(pnpm/dotnet)---- build docker----上传harbor---update k8s
传统回滚发布:
Jenkins读取默认发布参数IMPLEMENT(git_rollback)----分支TAG参数 TAG---- pipeline读取git代码 ---- copy config(git实现配置中心,由于目前没有类似微服务配置中心)----编译(pnpm/dotnet)---- build docker----上传harbor
K8s回滚发布(回滚比传统快很多):
Jenkins读取默认发布参数IMPLEMENT(k8s_rollback)--- 镜像标签IMAGE_TAG----拉取harbor镜像---- update k8s
五、K8s支持现有域名情况
支持线上环境域名、uat域名、测试域名等
说明:只需要配好域名dns解析或hosts,解析到k8s的vip: 192.168.80.94即可
六、Harbor使用说明
前端在front,后端在donet ,登录以后可以看总的使用情况
再次点击front,或 dotnet,可以看到docker镜像包个数
七、附图:飞书报警截图 和 高亮显示截图 及 k8s截图
飞书报警截图:前端pipleline自动化要8-11分钟,后端只有1分多钟
每个pipeline stage高量显示
:
K8s 可以看到刚刚部署更新的pod:
本文是 巧妙绝情 一个字一个图打出来,参考了好多资料,感谢他们的分享,基于open source分享精神,转载请注明出出。 支持我,请 用力 点击 巧妙绝情 谢谢