本文以容器化项目 Nginx 为例,旨在帮助新用户快速入手熟悉使用 Zadig 系统基本能力,包含从 Code 到 Ship 的完整过程。
准备工作
- 安装 Zadig,参考 快速安装
- 项目案例源码: Nginx (opens new window),Fork 至个人 GitHub 仓库并集成代码源
- 服务 YAML 文件:YAML (opens new window)
提示
代码源集成请参考 GitHub 集成
第 1 步:项目配置
- 访问 Zadig 系统,点击项目 -> 点击新建项目按钮,创建项目,具体内容如下图所示:
点击立即创建按钮,进入项目创建向导,点击下一步开始创建服务:
第 2 步:创建服务
提示
创建服务有 2 种方式:
第 1 种:点击「创建服务」直接把服务的 K8s YAML 内容粘到系统中
第 2 种:选择从 Git 仓库同步 YAML 文件
本示例中采用第 1 种方式
注意
请提前配置好代码源和镜像仓库集成,如安装时未配置,具体配置请参照系统设置->集成管理->代码源集成 以及 系统设置->镜像仓库
按照创建服务 -> 输入服务名 -> 录入服务 YAML 配置 -> 保存步骤来完成一个服务的新建,如下图所示:
录入服务的 YAML 配置后,系统会对 YAML 格式做合法性检查,并在保存后自动加载出系统变量、YAML 中的自定义变量(可视需求自助添加)以及服务组件。
第 3 步:创建构建
为上一步中创建的 nginx-test
服务组件添加构建,选择代码库并添加构建脚本,具体如下图所示:
根据构建需要的实际环境安装应用,同时依次选择代码托管平台、代码库以及分支
编写构建脚本,并点击保存构建
cd $WORKSPACE/zadig/examples/nginx
docker build -t $IMAGE -f Dockerfile .
docker push $IMAGE
可以看到对应的服务组件已经关联了构建,点击构建名称也可以继续进行编辑
继续下一步,进入环境及工作流创建环节。
第 4 步:创建环境和工作流
构建添加完成后,点击下一步,稍等片刻,系统会自动创建 2 套环境和 3 条工作流。2 套集成环境可分别用于日常开发环节和测试验收环节,3 条工作流也会自动绑定对应的环境以达到持续交付的目的。具体如下图所示:
提示
不同服务创建环境所需的时间有所不同,请耐心等待创建完成
点击下一步进入工作流交付。
第 5 步:工作流交付
点击运行 Dev 工作流,来完成 Dev 环境的持续交付,点击运行按钮启动工作流
根据实际需求选择要交付的服务、以及对应的构建分支或者 pull request,点击启动任务
其他环境的服务交付和 Dev 环境的类似,在此不再赘述。
到此,Zadig 的基本功能已经演示完毕,下面将展示如何配置自动触发工作流和版本交付。
配置自动触发工作流(可选)
点击编辑 Dev 工作流
添加触发器
打开 Webhook 开关
点击添加 Webhook 配置,按需填写相关配置
保存工作流的修改
在 GitHub 中提交 pull request 后,在 check list 中会展示对应的系统工作流状态:
- 点击任务链接可以链接到系统里面查看具体的工作流信息:
待工作流运行完成后,可以看到环境里面的服务镜像已经被更新
配置工作流 IM 状态通知(可选)
工作流提供接入第三方 Webhook 能力,可以为工作流配置一个状态通知,以便及时得到工作流任务状态反馈,目前支持:
- 钉钉
- 飞书
- 企业微信
其他平台正在持续接入中
飞书
通知到飞书,具体过程如下
第 1 步:在飞书上添加一个 Bot,获得 Webhook 地址
第 2 步:点击编辑工作流,添加通知模块,正确填写飞书 Bot 的 Webhook 地址,并选择需要通知的事件
通知效果图示:
更多实战项目和场景案例,请参考最佳实践 (opens new window)。