本课程基于一套可以运行的云原生微服务系统,该应用系统的架构图如下:
代码库位于:https://gitlab.com/kr-poc/zadig-training.git,将该代码库 fork 到个人账号中。
具体创建过程,参考 GitLab 集成文档
创建过程中需要填写 Zadig 的回调网址为:https://course.koderover.com/api/directory/codehosts/callback
创建成功的应用认证密钥,如下图所示:
将 Application ID
和 Secret
复制备用。
成功登录 Zadig 系统后,即可以开始下面的操作。
在项目模块中,点击新建项目,输入项目基本信息。
查看 Zadig 系统内置的环境和工作流,包含两套环境和三条工作流。
点击 "下一步" 按钮,继续后续项目定义配置操作。
从这里开始要配置该软件所包含的各个微服务定义,代码文件夹 course-100 中的 K8s-yaml 子目录提供了所需要的服务定义描述。
点击"从代码库同步"按钮,开始对接代码库(你 GitLab 个人账户中的 zadig-training 代码库)。
注意:这个步骤中需要使用上一节中所创建的 GitLab 应用认证密钥对。
在成功的接入了 GitLab 个人代码库之后,可以为当前项目选择使用 Fork 好的代码库。
zadig-training
main
分支同步
按钮,Zadig 将批量导入这些微服务定义。接下来为 backend 和 frontend 服务添加构建配置。
点击 backend 服务名称,添加构建配置。
zading-training
代码库,默认分支选择 main。#!/bin/bash
cd zadig-training/course-100/backend
make build-backend
docker build -t $IMAGE -f Dockerfile .
docker push $IMAGE
点击 frontend 服务名称,添加构建配置。
zading-training
代码库,默认分支选择 main。#!/bin/bash
cd zadig-training/course-100/frontend
docker build -t $IMAGE -f Dockerfile .
docker push $IMAGE
两个服务构建配置完成后,点击下一步,继续配置环境。
edu.koderover.com
在浏览器中可以正常显示;我们现在修改一下推荐链接中的字体颜色。
首先,在命令行中创建一个名为 feature/change-color
的分支。参考命令如下:
git branch feature/change-color
git switch feature/change-color
git push origin feature/change-color
HelloWorld_rc.vue
文件的第 70 行代码。git add .
git commit -m 'change link color'
git push origin feature/change-color
feature/change-color
分支在浏览器中确认推荐链接中的链接颜色已正确被修改。
在合并代码到主干前,更新测试工作流,将其改为持续构建的自动触发风格。
点击工作流 "编辑" 按钮,在右侧点击触发器,并添加Git 触发器
。
zadig-training
仓库main
Push commits
和Pull requests
事件。backend
和 frontend
。回到 GitLab 代码仓库的页面,点击创建 "Create merge request" 按钮。
merge request 信息填写无误后,点击 "create merge request" 按钮。
在 Merge Request 页面观察,对应的 qa 工作流已经开始执行,并实时更新状态。
点击 "Merge" 按钮,合并 feature/change-color
分支到主干。
点击 "环境" 标签页,查看服务在对应环境中的基本信息、运行状态、运行版本等等。
点击 "调试",进入容器内部分析网络、磁盘等问题。
apt install curl -y
curl localhost:20219/api/buildstamp
命令行解释:
在这个界面中配置自动测试执行相关信息:
unit-test
zadig-training
zadig-training/course-100/test/test-report
测试代码片段如下:
#!/bin/bash
set -e
cd zadig-training/course-100/test/
chmod +x unit.sh
./unit.sh
这里可以查看和分析测试的具体情况。
这样在 dev、 qa 和 ops 工作流触发的时候,这些绑定的测试套件就自动触发运行。
点击 dev 工作流右侧的 "执行" 按钮,手工测试此工作流。
填写版本号、标签、版本描述等基本信息,点击下一步。
在版本列表中点击版本号,进入版本详情页面,确认版本中镜像推送进展。
版本中包含服务的镜像和 YAML 配置信息,用于后续追溯。
点击 "生产服务" ,进入生产服务配置页面,准备生产服务配置。
zadig-training
main
course-100/k8s-yaml
完成服务配置同步后,创建生产环境。
点击 "环境" 标签页,点击 "新建环境" 按钮,选择生产环境。
填写环境名称、K8s 集群、命名空间、镜像仓库、别名,点击 "立即创建"。
至此生产环境就准备好了。
版本中的服务自动加载出来,找到 frontend 服务,配置访问入口地址 edu.koderover.com
,点击 "执行" 按钮,开始执行生产发布。
工作流执行完成后,点击 "环境" 标签页,找到 prod 环境,查看服务的部署状态。
至此,使用工作流发布指定版本到生产环境的操作已完成。
点击 backend 服务右侧的"历史版本",在历史版本列表中选择一个可用的版本,点击"回滚"按钮进行回滚操作。
相关文档链接:
扫码添加 Zadig 产品助理
关注 KodeRover 获取更多干货