本文介绍 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/callback
api
、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.13
microservice-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
->环境
,可看到服务的镜像已被自动触发的工作流更新。