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

GitLab

项目案例源码:项目案例源码,和案例相关的信息说明如下:

在自己的 GitLab 上创建名为 microservice-demo 的代码仓库,并将源码放到 microservice-demo 仓库中(只需要将 microservice-demo 目录下的内容放在仓库中即可,无需在 GitLab 上准备整个 zadig 仓库)。

新建 GitLab OAuth 应用程序

GitLab 管理者可以通过 Admin Area > Applications 来新建应用程序。

gitlab

配置 GitLab OAuth 应用程序

在新建应用程序页面,需要进行以下操作

create-app

获取 Application ID、Secret 信息

应用创建成功后,GitLab 会返回应用的相关信息,其中包括 Application IDSecret 信息。

create-app

将 Application ID、Secret 集成到系统

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

add-to-zadig

依次填入如下已知信息:

gitlab-auth

点击授权按钮,同意授权后,GitLab 会跳转到 Zadig 系统,至此 GitLab 集成完毕。

进入 Zadig 系统,点击新建项目 -> 填写项目名称 microservice-demo -> 选择 K8s YAML 项目 -> 点击立即创建 -> 点击下一步

onboarding-1

onboarding-1

onboarding-1

新建服务

Zadig 提供三种方式管理服务配置:

这里,我们使用从代码库同步的方式:点击从代码库同步按钮 -> 选择仓库信息 -> 选择文件目录 k8s-yaml -> 点击同步按钮即可。

onboarding-2

onboarding-2

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

onboarding-2

配置构建

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

config_build

config_build

构建配置说明:

  1. 应用列表选择 go 1.13
  2. 代码信息,选择 microservice-demo 所在的代码仓库
  3. 构建脚本如下:
cd microservice-demo/backend
make build-backend
docker build -t $IMAGE -f Dockerfile .
docker push $IMAGE

同样的步骤为 frontend 服务配置构建并保存。

config_build

构建配置说明:

  1. 代码信息,选择 microservice-demo 所在的代码仓库
  2. 构建脚本如下:
cd microservice-demo/frontend
docker build -t $IMAGE -f Dockerfile .
docker push $IMAGE

add-to-env

add-to-env

microservice_demo_project_overview

microservice_demo_project_env_overview

使用工作流对环境中的服务进行部署更新,以 dev 环境为例操作步骤如下。

workflow-1

workflow-3

workflow-3

添加触发器,使得代码 Push commit、Pull Request、Push tag 都能自动触发服务的重新构建和部署。

trigger-1

trigger-1

trigger-1

trigger-6

trigger-8

IM-1

IM-1

IM-1