本文介绍 Zadig 相关概念,用户可以通过本文对 Zadig 有一个简单的了解。

假设您已经熟悉核心的 Git、Docker、Kubernetes 和 Continuous Delivery 概念

项目

Zadig 中的项目包括工作流、环境、服务、构建、测试、版本等资源,用户在项目中可以进行服务开发、服务部署、集成测试、版本发布等操作。

工作流

典型的软件开发过程一般包括以下几个步骤:

编写代码 -> 构建 -> 部署 -> 测试 -> 发布

工作流就是 Zadig 平台对这样一个开发流程的实现,通过工作流来更新环境中的服务或者配置。

工作流组成

Zadig 工作流简化示意图如下所示:

工作流基本流程

目前工作流基本组成部分有:

  • 构建:拉取代码,执行构建
  • 部署:将构建产物部署到测试环境中
  • 测试:执行自动化测试,对部署结果进行验证
  • 分发:完成测试验证后,将构建产物分发到待发布的仓库

环境

Zadig 环境是一组服务集合及其配置、运行环境的总称,与 Kubernetes 的 NameSpace 一对一的对应关系,使用一套服务模板可以创建多套环境。

服务

Zadig 中的服务可以理解为一组 Kubernetes 资源,包括 Ingress、Service、Deployment/Statefulset、ConfigMap 等,也可以是一个完整的 Helm Chart 或者云主机/物理机服务,成功部署后可对外提供服务能力。

构建

Zadig 构建属于服务配置的一部分,同时在工作流运行阶段会被调用,与服务是一对多的对应关系,即一套构建可以支持多个服务共享。

测试

Zadig 测试属于项目的资源,同时也可以作为一个非必要阶段在工作流中调用,支持跨项目。

版本管理

Zadig 版本是一个完整的可靠交付产物,比如 Helm Chart,或 K8s YAML 完整配置文件。