第一个项目

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

准备工作

第 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 的基本功能已经演示完毕,下面将展示如何配置自动触发工作流和版本交付。

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

注意

前提条件:需要配置 GitHub Webhook,Webhook 配置请参考 GitHub Webhook

点击编辑 Dev 工作流

触发器

添加触发器

触发器

打开 webhook 开关

触发器

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

触发器

保存工作流的修改

触发器

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

创建 PR

创建 PR

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

创建 PR

创建 PR

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

创建 PR

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

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

  • 钉钉
  • 飞书
  • 企业微信

其它平台正在持续接入中

飞书

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

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

飞书配置步骤一

飞书配置步骤二

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

工作流通知飞书配置

通知效果图示:

飞书通知效果

解锁更多功能和服务,请查看更多经典案例