了解几个基本的关键字
1. 持续集成Continuous Integration (CI)
• 持续集成(CI)是指各个开发人员频繁的将代码提交到仓库,完成构建和自动化测试的过程。
• 自动执行测试(单元测试静态代码扫描)
• 在项目早期发现Bug,降低Bug修复成本
• 代码的更高的质量保障,避免“集成地狱”带来的大量冲突
2. 持续交付Continuous Delivery CD
• 持续交付(CD) 实际上是 CI 的扩展, 通常是指开发人员对应用的更改会自动进行错误测试并上传到存储库。
• 健康的,随时可以部署的代码库
• 自动化测试可以降低代码错误,把控代码质量
3. 持续部署Continuous Deployment CD
• 持续部署(CD) 指的是自动将开发人员的更改从存储库发布到生产环境,以供客户使用。
• 降低运维工作人员发布的成本
• 某种程度上代表了一个开发团队工程化的程度
• 持续集成(CI)产生的交付件(artifact)被持续部署(CD)使用
如下图再简单的做一下总结:
• 持续集成:持续提交代码,编译,测试,发起合并请求
• 持续交付:合并代码,测试并生成可发布的代码库
• 持续部署:基于持续交付,自动部署到生成环境
CD 配置中的几个关键字
1. 交付件来源
交付件的来源非常丰富:
• 当前项目生成定义
• Git/GitHub
• Jenkins
• 包管理器
• 容器镜像仓库
- ACR
- Docker Hub
2. 变量
定义级别
a. 全部环境共享的变量
环境级别
a. 在特定环境中有效的变量
变量组
a. 多个定义中共享的变量
内置变量
a. 与环境,交付件,代理相关
列举一些系统变量
3. 触发器
触发器分为环境触发器和发布触发器,可在CICD配置中点击“闪电图标”进行配置
4. 审批
CICD允许对代码的前期构建,测试以及部署的流程中要求审批
• 允许人工接入流水线部署流程
• 通过邮件通知
• 环境:部署前和部署后
5. 服务终结点
• 部署过程中需要连接多种外部服务,包括服务器,云平台,容器集群,容器镜像仓库通过邮件通知
• 外部服务的访问需要得到控制,用户名/密码/密钥需要集中管理,但仍然允许团队成员使用