本文主要介绍如何在 Zadig 上快速接入 Jenkins 工作流,实现端到端的微服务架构体系的持续交付。

Jenkins 是一个是基于 Java 开发的、非常经典的开源持续集成项目,被企业和团队广泛应用,但 Jenkins 本身并非云原生设计,随着微服务数量增长、业务架构上云 (Kubernetes) 趋势,工程师还是需要花额外时间对接基础设施、准备环境等等,平均一个工程师要切换若干个平台才能把一段代码写上线。通过现有 Jenkins 接入 Zadig 让团队不需要理解 CI/CD 概念,可以快速获得高并发的工作流和面向服务的集成环境,方便开发日常调试,不再为缺少测试环境,抢占测试环境而困扰。

jenkins

下面使用 Voting-app 作为演示项目,该项目包括 Result、Vote、Worker、DB 和 Redis 这 5 个服务,实现了一个简单的投票系统。

  1. 服务的 Jenkins Pipeline
  2. 服务的 Kubernetes YAML 文件:https://github.com/koderover/zadig/tree/main/examples/voting-app/freestyle-k8s-specifications

jenkins-token

jenkins-token

add-jenkins-server

create-project

succeeded-create-project

add-service-1

add-service-2

系统会自动检测 YAML 格式是否合法,导入成功后,右侧会自动解析出 YAML 文件包含的系统变量、自定义变量和服务组件,如下图所示。

add-service-3

  1. 点击添加构建add-jenkins-build-1
  2. 选择 Jenkins 构建 add-jenkins-build-2
  3. 选择对应的 Jenkins job,修改变量,并保存构建

add-jenkins-build-3

至此,我们已经成功添加了 Result 服务的 Jenkins Pipeline,vote 的 Jenkins Pipeline 配置类似,此处不再赘述。 添加成功后,点击下一步,完成服务配置。

succeeded-create-env-workflow

run-task

这里,我们可以选择多个服务同时更新到环境中。

run-task

run-task

run-task

run-task

add-test

add-test

add-test

add-test

task-result

通过以上步骤,我们已经完成了Jenkins + Zadig 的项目配置,可以看到,Zadig 补足了Jenkins 不具备的环境管理能力和测试管理能力,通过 Zadig 让研发过程变得更丝滑。