Help us learn about your current experience with the documentation. Take the survey.

构建用于测试的包

在开发新功能或修改现有功能时,如果有一个包含这些更改的可安装包(或 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 job

子管道启动后,你可以选择 trigger-omnibus 进入名为 TRIGGERED_EE_PIPELINE 的子管道。

Triggered child 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。这将创建一个可用于触发构建的手动作业。