kubernetes-handbook/practice/jenkins-ci-cd.md

21 lines
1.1 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

# 使用Jenkins进行持续集成与发布
我们基于Jenkins的CI/CD流程如下所示。
![基于Jenkins的持续集成与发布](../images/kubernetes-jenkins-ci-cd.png)
## 流程说明
应用构建和发布流程说明。
1. 用户向Gitlab提交代码代码中必须包含`Dockerfile`
2. 将代码提交到远程仓库
3. 用户在发布应用时需要填写git仓库地址和分支、服务类型、服务名称、资源数量、实例个数确定后触发Jenkins自动构建
4. Jenkins的CI流水线自动编译代码并打包成docker镜像推送到Harbor镜像仓库
5. Jenkins的CI流水线中包括了自定义脚本根据我们已准备好的kubernetes的YAML模板将其中的变量替换成用户输入的选项
6. 生成应用的kubernetes YAML配置文件
7. 更新Ingress的配置根据新部署的应用的名称在ingress的配置文件中增加一条路由信息
8. 更新PowerDNS向其中插入一条DNS记录IP地址是边缘节点的IP地址。关于边缘节点请查看[边缘节点配置](edge-node-configuration.md)
9. Jenkins调用kubernetes的API部署应用