使用 Zadig 交付云原生微服务应用

本文介绍了如何利用Zadig进行云原生微服务应用的持续集成和交付,以开源项目Online Boutique为例,详细阐述了从新建项目、配置服务、设置触发器到执行工作流和测试用例的全过程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

微服务示例

我们这里使用到开源项目是 https://github.com/GoogleCloudPlatform/microservices-demo,该开源项目名叫 Online Boutique(https://onlineboutique.dev/),是一个云原生微服务演示应用程序,其中包含 11 个微服务,该应用程序是一个基于 Web 的电子商务应用程序,用户可以在其中浏览商品、将它们添加到购物车并购买它们。

基于该项目针对 Zadig 做了优化修改,项目地址: https://github.com/cnych/microservices-demo

该项目由 11 个使用不同语言编写的微服务组成,它们通过 gRPC 相互通信。架构如下所示。

微服务架构

每个服务的功能描述如下表所示。

服务功能

Zadig 项目

接下来我们来使用 Zadig 来交付该微服务项目,使用方式和前面基本类似。

首先新建一个名为 microservices-demo 的项目,项目类型为 K8s YAML 项目。

新建项目

点击立即新建按钮,然后进入项目初始化页面。

项目初始化

点击下一步进入到服务配置页面,我们知道服务模板可以通过手动创建、代码仓库中同步或者现有 K8s 资源中导入而来。我们这里服务模板在代码仓库中,所以选择从代码库中进行同步,选择对应的代码仓库、分支和对应的资源清单目录,然后点击同步按钮即可将对应的服务同步到 Zadig 中来。

同步服务

可以看到我们这里同步过来后包含了 12 个服务,每个服务的模板也都直接展示出来了,但是由于是通过仓库同步的,模板是只读模式,右侧会自动读取到服务对应的镜像信息。

注意:Zadig 读取资源清单后, 会以 K8s YAML 中的容器名作为唯一的 key 进行去重 ,所以在编写 K8s YAML 的时候不要让容器名重复,否则导入后会丢失服务。

服务模板

点击右侧读取到的镜像服务组件后面的添加构建按钮,前往配置该服务的镜像是如何进行构建的。

首先需要添加服务代码源信息,我们这里的代码在 GitLab 上面,所以添加对应的代码仓库以及分支信息。我们这里的所有服务代码都位于代码仓库根目录下面的 src 目录下。

代码结构

这属于典型的 Monorepo 类型的仓库(单体),而里面的每个服务我们也并未配置成 submodule,所以每个服务构建的时候均要将整个代码仓库 Clone 下来,但其实我们只需

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值