本文介绍 GitLab 仓库管理的项目如何在 Zadig 上快速搭建,下面以 microservice-demo 项目为例,该项目包含 Vue.js 前端服务和 Golang 后端服务,以下步骤包含从 Code 到 Ship 的整个过程的演示。

项目案例源码:项目案例源码,和案例相关的信息说明如下:
https://github.com/koderover/zadig/tree/main/examples/microservice-demo/k8s-yaml在自己的 GitLab 上创建名为 microservice-demo 的代码仓库,并将源码放到 microservice-demo 仓库中(只需要将 microservice-demo 目录下的内容放在仓库中即可,无需在 GitLab 上准备整个 zadig 仓库)。
GitLab 管理者可以通过 Admin Area > Applications 来新建应用程序。

在新建应用程序页面,需要进行以下操作
http://[zadig.yours.com]/api/directory/codehosts/callbackapi 、read_user 、read_repository
应用创建成功后,GitLab 会返回应用的相关信息,其中包括 Application ID 、Secret 信息。

切换到 Zadig 系统,管理员依次点击 系统设置 -> 集成管理 -> 代码源 -> 点击添加按钮。

依次填入如下已知信息:
代码源:此处选择 GitLab代码源标识:自定义GitLab 服务 URL:GitLab 地址Application ID:应用创建成功后返回的 Application IDSecret:应用创建成功后返回的 Secret 信息确认无误后点击 前往授权,耐心等待,此时会系统会跳转到 GitLab 进行授权。
点击授权按钮,同意授权后,GitLab 会跳转到 Zadig 系统,至此 GitLab 集成完毕。
进入 Zadig 系统,点击新建项目 -> 填写项目名称 microservice-demo -> 选择 K8s YAML 项目 -> 点击立即创建 -> 点击下一步。



Zadig 提供三种方式管理服务配置:
这里,我们使用从代码库同步的方式:点击从代码库同步按钮 -> 选择仓库信息 -> 选择文件目录 k8s-yaml -> 点击同步按钮即可。


加载服务配置后,点击 frontend 服务,点击自动解析变量,设置配置中的自定义变量 demo_domain 值为 micro-$EnvName$-test.co.coderover.cn。此处使用系统内置变量 $EnvName$ 来为域名赋值,当环境创建完毕后,不同环境中的服务将会有不同的访问地址。

配置后端服务构建:选择 backend 服务 -> 点击添加构建 -> 填写构建配置和构建脚本后保存。


构建配置说明:
go 1.13microservice-demo 所在的代码仓库cd microservice-demo/backend
make build-backend
docker build -t $IMAGE -f Dockerfile .
docker push $IMAGE
同样的步骤为 frontend 服务配置构建并保存。

构建配置说明:
microservice-demo 所在的代码仓库cd microservice-demo/frontend
docker build -t $IMAGE -f Dockerfile .
docker push $IMAGE




使用工作流对环境中的服务进行部署更新,以 dev 环境为例操作步骤如下。
microservice-demo-workflow-dev 工作流 -> 选择服务,点击「执行」运行工作流。

dev 环境,可看到 backend 服务和 frontend 服务被部署更新成功,镜像信息均被更新。
添加触发器,使得代码 Push commit、Pull Request、Push tag 都能自动触发服务的重新构建和部署。




项目->microservice-demo->环境,可看到服务的镜像已被自动触发的工作流更新。


