核心概念
本文介绍 Zadig 的核心概念,帮助用户建立对 Zadig 的基本认知。
需具备 Git、Docker、Kubernetes 及持续交付相关基础概念
# 项目
Zadig 的项目是一个完整的业务单元、产品或系统,包含工作流、环境、服务、构建、测试、代码扫描、版本等资源。用户可在项目中进行服务开发、部署、集成测试、版本发布等操作,实现持续交付。
# 工作流
典型软件开发过程包括:编写代码 -> 构建 -> 部署 -> 测试 -> 发布。
工作流是 Zadig 对上述开发流程的实现,通过工作流可更新环境中的服务或配置。
在 Zadig 工作流 中,可自由编排任务和自定义执行步骤,具备配置变更、数据变更、灰度发布等能力。当前支持的任务类型包括:构建、部署、测试、发布策略、项目管理、配置变更、数据变更、自定义任务等。
# 环境
Zadig 环境是一组服务集合及其配置、运行环境的总称,与 Kubernetes Namespace 一一对应。可基于同一服务模板创建多套环境。
# 服务
Zadig 的服务是一组 Kubernetes 资源(如 Ingress、Service、Deployment/Statefulset/CronJob、InitContainer、ConfigMap 等),也可为完整的 Helm Chart 或云主机/物理机服务。服务成功部署后可对外提供能力。
# 服务组件
服务组件是容器服务可被独立更新的最小单元,一个服务可包含多个服务组件。
# 构建
Zadig 构建属于服务配置的一部分,并在工作流运行阶段被调用。构建与服务为一对多关系,即一套构建可被多个服务共享。
# 测试
Zadig 测试属于项目资源,也可作为非必需阶段在工作流中调用,支持跨项目。
# 代码扫描
Zadig 代码扫描属于项目资源,支持在自定义工作流中编排使用。
# 版本管理
Zadig 版本为完整的可靠交付物,如 Helm Chart 或 K8s YAML 完整配置文件。


