本文以容器化项目 Nginx 为例,旨在帮助新用户快速入手熟悉使用 Zadig 系统基本能力,包含从 Code 到 Ship 的完整过程。

准备工作

提示

代码源集成请参考 GitHub 集成

第 1 步:项目配置

  • 访问 Zadig 系统,点击项目 -> 点击新建项目按钮,创建项目,具体内容如下图所示:

创建项目 创建项目

点击立即创建按钮,进入项目创建向导,点击下一步开始创建服务:

创建项目

第 2 步:创建服务

提示

创建服务有 2 种方式:
第 1 种:点击「创建服务」直接把服务的 K8s YAML 内容粘到系统中
第 2 种:选择从 Git 仓库同步 YAML 文件
本示例中采用第 1 种方式

注意

请提前配置好代码源和镜像仓库集成,如安装时未配置,具体配置请参照系统设置->集成管理->代码源集成 以及 系统设置->镜像仓库

按照创建服务 -> 输入服务名 -> 录入服务 YAML 配置 -> 保存步骤来完成一个服务的新建,如下图所示:

创建服务

录入服务的 YAML 配置后,系统会对 YAML 格式做合法性检查,并在保存后自动加载出系统变量、YAML 中的自定义变量(可视需求自助添加)以及服务组件。

创建服务

第 3 步:创建构建

为上一步中创建的 nginx-test 服务组件添加构建,选择代码库并添加构建脚本,具体如下图所示:

创建构建

根据构建需要的实际环境安装应用,同时依次选择代码托管平台、代码库以及分支

创建构建

编写构建脚本,并点击保存构建

  1. cd $WORKSPACE/zadig/examples/nginx
  2. docker build -t $IMAGE -f Dockerfile .
  3. docker push $IMAGE

创建构建

可以看到对应的服务组件已经关联了构建,点击构建名称也可以继续进行编辑

创建构建

继续下一步,进入环境及工作流创建环节。

第 4 步:创建环境和工作流

构建添加完成后,点击下一步,稍等片刻,系统会自动创建 2 套环境和 3 条工作流。2 套集成环境可分别用于日常开发环节和测试验收环节,3 条工作流也会自动绑定对应的环境以达到持续交付的目的。具体如下图所示:

提示

不同服务创建环境所需的时间有所不同,请耐心等待创建完成

创建环境和工作流

点击下一步进入工作流交付。

第 5 步:工作流交付

点击运行 Dev 工作流,来完成 Dev 环境的持续交付,点击运行按钮启动工作流

运行工作流

根据实际需求选择要交付的服务、以及对应的构建分支或者 PR,点击启动任务

运行工作流

运行工作流

运行工作流

其它环境的服务交付和 Dev 环境的类似,在此不再赘述。

到此,Zadig 的基本功能已经演示完毕,下面将展示如何配置自动触发工作流和版本交付。

配置自动触发工作流(可选)

提示

如果您的 Zadig 系统版本低于 v1.3.0,需要配置 GitHub Webhook 后,工作流的触发器功能才会生效。

关于 GitHub Webhook 配置请参考 GitHub Webhook

点击编辑 Dev 工作流

触发器

添加触发器

触发器

打开 webhook 开关

触发器

点击添加 webhook 配置,按需填写相关配置

触发器

保存工作流的修改

触发器

在 GitHub 中提交 PR 后,在 check list 中会展示对应的系统工作流状态:

创建 PR

创建 PR

  • 点击任务链接可以链接到系统里面查看具体的工作流信息:

创建 PR

创建 PR

待工作流运行完成后,可以看到环境里面的服务镜像已经被更新

创建 PR

配置工作流 IM 状态通知(可选)

工作流提供接入第三方 Webhook 能力,可以为工作流配置一个状态通知,以便及时得到工作流任务状态反馈,目前支持:

  • 钉钉
  • 飞书
  • 企业微信

其它平台正在持续接入中

飞书

通知到飞书,具体过程如下

第 1 步:在飞书上添加一个 Bot,获得 Webhook 地址

飞书配置步骤一

飞书配置步骤二

第 2 步:点击编辑工作流,添加通知模块,正确填写飞书 Bot 的 Webhook 地址,并选择需要通知的事件

工作流通知飞书配置

通知效果图示:

飞书通知效果

更多实战项目和场景案例,请参考最佳实践 第一个项目 - 图31 (opens new window)