构建用于测试的包
在开发新功能或修改现有功能时,如果有一个包含这些更改的可安装包(或 Docker 镜像)可用于测试,会很有帮助。为此,GitLab CI/CD 管道中提供了一个手动作业,可用于触发 Omnibus GitLab 仓库中的管道,该管道将创建:
- 一个适用于 Ubuntu 16.04 的 deb 包,可作为构建产物使用,以及
- 一个 Docker 镜像。该 Docker 镜像会被推送到 Omnibus GitLab 容器注册表。GitLab 企业版的镜像命名为
gitlab-ee。GitLab 社区版的镜像命名为gitlab-ce。 - 镜像标签是触发管道的 commit。
当你向 GitLab CE 或 GitLab EE 项目推送 commit 时,该 commit 的管道将在 .pre 阶段的 e2e:test-on-omnibus-ee 子管道中包含一个 trigger-omnibus 作业。
子管道启动后,你可以选择 trigger-omnibus 进入名为 TRIGGERED_EE_PIPELINE 的子管道。
接下来,在 trigger-package 阶段选择 Trigger:package 作业。
Trigger:package 作业完成后会将产物上传到 GitLab,然后你可以 浏览 这些产物并下载 .deb 文件,或者使用 GitLab API 将文件直接下载到你的虚拟机。请注意,这些产物的有效期很短,大约一天左右就会被自动删除。
指定组件版本
如果你想从任何 GitLab 组件(如 GitLab Workhorse、Gitaly 或 GitLab Pages)的特定分支、commit 或 tag 创建包,你可以在相应组件的 *_VERSION 文件中指定分支名称、commit SHA 或 tag。例如,如果你想构建一个使用 0-1-stable 分支的包,将 GITALY_SERVER_VERSION 的内容修改为 0-1-stable 并推送 commit。这将创建一个可用于触发构建的手动作业。
在 Omnibus GitLab 仓库中指定分支
在需要引入配置更改,且 Omnibus GitLab 仓库的特定分支中已有必要更改的情况下,你可以通过名为 OMNIBUS_BRANCH 的 CI/CD 变量针对该分支构建包。为此,在 .gitlab-ci.yml 中将该变量指定为分支名称作为值,并推送 commit。这将创建一个可用于触发构建的手动作业。