Zadig v1.18.0 文档
  • 快速入门

    • 什么是 Zadig
    • 核心概念
    • 快速安装
    • 第一个项目
    • 接入准备
  • 安装与配置

    • 安装简介
    • All in One 模式
    • 使用 Sealos 一键安装
    • 基于 Helm 命令安装
    • 基于现有 Kubernetes 安装
    • 本地安装
    • 兼容性列表
  • 最佳实践
  • 项目

    • 项目

      • 项目介绍
      • K8s YAML 项目
      • K8s Helm Chart 项目
      • K8s 托管项目
      • 主机项目
      • 权限管理
    • 工作流

      • 简介
      • 产品工作流
      • 自定义工作流
      • 工作流任务
      • 工作流审批
      • 工作流通知
      • 工作流触发器
    • 环境

      • K8s YAML 环境
      • K8s Helm Chart 环境
      • K8s 托管环境
      • 主机环境
      • 服务详情
    • 服务

      • 简介
      • K8s YAML 测试服务
      • K8s Helm Chart 服务
      • K8s 托管服务
      • 服务组件
      • 服务变量
      • 主机服务
    • 构建
    • 测试
    • 代码扫描
  • 模板库

    • K8s YAML 模板
    • Helm Chart 模板
    • Dockerfile 模板
    • 构建模板
  • 工作流

    • 工作流的触发
    • 工作流的构建缓存
    • 工作流任务的并发运行
    • 工作流的镜像版本回退
    • 工作流的变量传递
  • 环境

    • 环境的负载均衡
    • 配置多套环境
    • 自测联调环境
  • 测试中心

    • 测试中心
    • 测试工具实践
    • Apipost 测试平台接入
    • Apifox 测试平台接入
  • 交付中心

    • 交付物追踪
  • 数据视图

    • 数据概览
    • 效能洞察
  • 仪表盘

    • 仪表盘
  • 集成管理

    • 账号系统

      • LDAP
      • OAuth 2.0
      • GitHub
    • 项目管理
    • 代码源

      • 简介
      • GitLab 集成
      • GitHub 集成
      • Gerrit 集成
      • Gitee 公有云集成
      • 其他代码源集成
    • CI/CD 工具
    • 代码扫描
    • 镜像仓库
    • 对象存储
    • Helm 仓库
    • Kubernetes 集群
    • 主机管理
    • 其他系统
    • 软件包管理
    • 自定义镜像管理
  • 系统设置

    • 系统配置
    • 用户管理
    • 公告管理
    • 操作日志
    • 通知设置
  • 账号设置

    • 偏好设置
  • 开发者中心

    • OpenAPI 开发文档

      • API 调用方式
      • 交付中心
      • 工作流
      • 效能洞察
    • 外部系统接入开发文档

      • 自定义账号系统
      • 自定义工作流任务
    • VS Code Toolkit 插件

      • 使用指南
  • 常见问题

    • 产品使用 FAQ
    • 部署运维 FAQ
    • 集群故障 FAQ
    • 认证鉴权 FAQ
    • 诊断手册
  • 版本发布历史

    • Zadig Roadmap
    • v1.18.0 Release Notes
    • v1.17.0 Release Notes
    • v1.16.0 Release Notes
    • v1.15.0 Release Notes
    • v1.14.0 Release Notes
    • v1.13.0 Release Notes
    • v1.12.0 Release Notes
    • v1.11.0 Release Notes
    • v1.10.0 Release Notes
    • v1.9.0 Release Notes
    • v1.8.0 Release Notes
    • v1.7.1 Release Notes
    • v1.7.0 Release Notes
    • v1.6.0 Release Notes
    • v1.5.0 Release Notes
    • v1.4.0 Release Notes
    • v1.3.1 Release Notes
    • v1.3.0 Release Notes
    • v1.2.0 Release Notes
    • v1.1.0 Release Notes
    • v1.0.0 Release Notes
    • v1.0.0-rc.1 Release Notes
  • 术语表

    • 术语表

本文以容器化微服务为例,帮助新用户快速上手使用 Zadig 系统的基本能力,包含从 Code 到 Ship 的完整过程。

准备工作

  • 安装 Zadig,参考安装文档
  • 集成 GitHub 代码源并 fork 案例源码,代码源集成参考文档:GitHub 集成
  • 集成镜像仓库,参考文档:镜像仓库集成

提示

如果你使用的不是 GitHub 代码源,也可以将代码下载,上传到自己的代码源后再在 Zadig 中集成,参考文档:代码源集成。

第 1 步:项目配置

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

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

创建项目

第 2 步:新建服务

包括新建服务以及为服务配置构建,后者用于后续使用工作流对服务进行部署更新。

新建服务

新建服务步骤:点击从代码库同步 -> 选择服务配置所在的代码库、分支和目录 -> 点击同步,如下图所示:

本例中选择 zadig 库,main 分支,指定文件夹为 examples/microservice-demo/k8s-yaml/backend 即可。

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

创建服务

配置构建

点击添加构建为服务配置构建。

创建构建

根据构建需要的实际环境安装依赖的软件包,同时依次选择代码托管平台、代码库以及分支,填写通用构建脚本后保存构建。

创建构建

本例中构建配置如下:

  • 依赖的软件包:go 1.12.9
  • 代码信息:即准备工作中集成的代码源,选择 zadig 代码库,main 分支
  • 通用构建脚本:内容如下
#!/bin/bash
set -ex

cd zadig/examples/multi-service-demo
make build-service1
chmod +x src/service1/service1

docker build -t $IMAGE -f Dockerfile --build-arg service=service1 .
docker push $IMAGE

继续下一步,进入环境准备环节。

第 3 步:加入环境

点击创建环境,系统会自动创建 2 套环境和 3 条工作流。2 套环境可分别用于日常开发环节和测试验收环节,3 条工作流也会自动绑定对应的环境以达到对不同环境进行持续交付的目的。具体如下图所示:

提示

创建环境所需的时间会因为服务的配置和数量而有所不同,请耐心等待创建完成。

创建环境和工作流

待环境创建完成后点击下一步进入工作流交付。

第 4 步:工作流交付

点击运行 microservice-sample-workflow-dev 工作流,来完成 dev 环境的持续交付。根据实际需求选择要部署的服务、以及对应的构建分支或者 pull request,启动任务:

运行工作流

待工作流运行完毕,环境中的服务版本被自动更新:

查看更新后的服务

其他环境的服务交付和 dev 环境的类似,此处不再赘述。

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

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

点击配置 microservice-sample-workflow-dev 工作流:

触发器

添加触发器,打开 Webhook 开关,填写配置并点击确定,保存触发器配置后,保存对工作流的修改:

触发器

在 GitHub 中提交 pull request 后,在 check list 中会展示对应的工作流状态,效果如下所示:

创建 pull request

  • 点击任务链接可以链接到 Zadig 系统里查看工作流执行详情,并在工作流中跟踪代码变更:

查看 Webhook 触发的工作流

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

查看更新后的服务

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

工作流提供接入第三方 Webhook 能力,可以为工作流配置状态通知,以便及时得到工作流任务状态反馈,目前支持的 IM 系统有:钉钉/飞书/企业微信。以飞书为例操作如下:

钉钉和企业微信的配置请参考文档:通知配置。

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

飞书配置步骤一

飞书配置步骤二

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

工作流通知飞书配置

通知效果图示:

飞书通知效果

更多实战项目和场景案例,请参考 Zadig 教程。

Prev
快速安装
Next
接入准备