omnibus-gitlab
CI 流水线 使用 CI 环境提供的变量在镜像之间改变构建行为,并将敏感数据排除在存储库之外。
查看下表以获取有关流水线中使用的各种 CI 变量的更多信息。
构建变量
必需:
这些变量是流水线中构建软件包所必需的。
环境变量 | 描述 |
---|---|
AWS_SECRET_ACCESS_KEY |
用于在 S3 位置读取/写入构建软件包的账户密钥。 |
AWS_ACCESS_KEY_ID |
用于在 S3 位置读取/写入构建软件包的账户 ID。 |
可用:
这些附加变量可用于覆盖或启用不同的构建行为。
环境变量 | 描述 |
---|---|
AWS_MAX_ATTEMPTS |
S3 命令应重试的最大次数。 |
USE_S3_CACHE |
设置任意值后,Omnibus 将在 s3 存储桶中缓存获取的软件源。 |
CACHE_AWS_ACCESS_KEY_ID |
用于读取/写入 s3 存储桶中包含 s3 软件获取缓存的账户 ID。 |
CACHE_AWS_SECRET_ACCESS_KEY |
用于读取/写入 s3 存储桶中包含 s3 软件获取缓存的账户密钥。 |
CACHE_AWS_BUCKET |
软件获取缓存的 S3 存储桶名称。 |
CACHE_AWS_S3_REGION |
用于写入/读取软件获取缓存的 S3 存储桶区域。 |
CACHE_AWS_S3_ENDPOINT |
使用 s3 兼容服务时发送请求的 HTTP 或 HTTPS 端点。 |
CACHE_S3_ACCELERATE |
设置任意值以启用 s3 软件获取缓存使用 s3 加速进行拉取。 |
SECRET_AWS_SECRET_ACCESS_KEY |
用于从安全 s3 存储桶读取 gpg 私有软件包签名密钥的账户密钥。 |
SECRET_AWS_ACCESS_KEY_ID |
用于从安全 s3 存储桶读取 gpg 私有软件包签名密钥的账户 ID。 |
GPG_PASSPHRASE |
使用 gpg 私有软件包签名密钥所需的密码短语。 |
CE_MAX_PACKAGE_SIZE_MB |
基础版软件包允许的最大软件包大小(以 MB 为单位),在我们提醒团队并调查之前。 |
EE_MAX_PACKAGE_SIZE_MB |
企业版软件包允许的最大软件包大小(以 MB 为单位),在我们提醒团队并调查之前。 |
DEV_GITLAB_SSH_KEY |
能够从 dev.gitlab.org 读取存储库的账户的 SSH 私钥。用于 SSH Git 获取。 |
BUILDER_IMAGE_REGISTRY |
用于拉取 CI 作业映像的注册表。 |
BUILD_LOG_LEVEL |
Omnibus 构建日志级别。 |
ALTERNATIVE_SOURCES |
切换到 https://gitlab.com/gitlab-org/omnibus-gitlab/blob/master/.custom_sources.yml 中列出的自定义源,默认值为 true 。 |
OMNIBUS_GEM_SOURCE |
非默认远程 URI,用于从中克隆 omnibus gem。 |
QA_BUILD_TARGET |
构建指定的 QA 映像。默认值为 qa 。 |
GITLAB_ASSETS_TAG |
在 gitlab-org/gitlab 流水线中的 build-assets-image 作业构建的资产映像的标签。默认值为 $GITLAB_REF_SLUG 或 gitlab-rails 版本。 |
BUILD_ON_ALL_OS |
如果设置为 true ,则无需使用手动触发即可构建所有 OS 映像。 |
测试变量
环境变量 | 描述 |
---|---|
RAT_REFERENCE_ARCHITECTURE |
由 RAT 作业触发的流水线中使用的参考架构模板。 |
RAT_FIPS_REFERENCE_ARCHITECTURE |
由 RAT:FIPS 作业触发的流水线中使用的参考架构模板。 |
RAT_PACKAGE_URL |
用于由 RAT 作业触发的 RAT 流水线获取常规软件包的 URL。 |
RAT_FIPS_PACKAGE_URL |
用于由 RAT 作业触发的 RAT 流水线获取 FIPS 软件包的 URL。 |
RAT_TRIGGER_TOKEN |
RAT 流水线的触发令牌。 |
RAT_PROJECT_ACCESS_TOKEN |
用于触发 RAT 流水线的项目访问令牌。 |
OMNIBUS_GITLAB_MIRROR_PROJECT_ACCESS_TOKEN |
用于构建测试软件包的项目访问令牌。 |
CI_SLACK_WEBHOOK_URL |
用于 Slack 故障通知的 Webhook URL。 |
DANGER_GITLAB_API_TOKEN |
极狐 GitLab API 令牌,用于 dangerbot 向 MR 发表评论。 |
DOCS_API_TOKEN |
CI 用于触发文档站点的 review-app 构建的令牌。 |
MANUAL_QA_TEST |
用于决定是否自动播放 qa-subset-test 作业的变量。 |
发布变量
必需:
这些变量是流水线构建的软件包发布所必需的。
环境变量 | 描述 |
---|---|
STAGING_REPO |
在 packages.gitlab.com 上上传发布版本之前,发布版本被上传的存储库。 |
PACKAGECLOUD_USER |
用于将软件包推送到 packages.gitlab.com 的 Packagecloud 用户名。 |
PACKAGECLOUD_TOKEN |
用于将软件包推送到 packages.gitlab.com 的 API 访问令牌。 |
LICENSE_S3_BUCKET |
用于存储发布许可证信息的存储桶,发布在 https://gitlab-org.gitlab.io/omnibus-gitlab/licenses.html 的公共页面上。 |
LICENSE_AWS_SECRET_ACCESS_KEY |
用于读取/写入包含许可证信息的 S3 存储桶的账户密钥。 |
LICENSE_AWS_ACCESS_KEY_ID |
用于读取/写入包含许可证信息的 S3 存储桶的账户 ID。 |
GCP_SERVICE_ACCOUNT |
用于在 Google 对象存储中读取/写入指标。 |
DOCKERHUB_USERNAME |
用于将 Omnibus 极狐GitLab 映像推送到 Docker Hub 的用户名。 |
DOCKERHUB_PASSWORD |
用于将 Omnibus 极狐GitLab 映像推送到 Docker Hub 的密码。 |
AWS_ULTIMATE_LICENSE_FILE |
极狐GitLab 旗舰版许可证,用于旗舰版 AWS AMIs。 |
AWS_PREMIUM_LICENSE_FILE |
极狐GitLab 专业版许可证,用于旗舰版 AWS AMIs。 |
AWS_AMI_SECRET_ACCESS_KEY |
用于发布 AWS AMIs 的读/写访问的账户密钥。 |
AWS_AMI_ACCESS_KEY_ID |
用于发布 AWS AMIs 的读/写访问的账户 ID。 |
AWS_MARKETPLACE_ARN |
AWS ARN 允许 AWS Marketplace 访问我们的官方 AMIs。 |
PACKAGE_PROMOTION_RUNNER_TAG |
用于运行软件包推广作业的共享 runner 的标签。 |
可用:
这些附加变量可用于覆盖或启用不同的构建行为。
环境变量 | 描述 |
---|---|
RELEASE_DEPLOY_ENVIRONMENT |
如果当前 ref 是稳定标签,则用于 JihuLab.com 部署器 触发的部署名称。 |
PATCH_DEPLOY_ENVIRONMENT |
如果当前 ref 是候选发布标签,则用于 JihuLab.com 部署器 触发的部署名称。 |
AUTO_DEPLOY_ENVIRONMENT |
如果当前 ref 是自动部署标签,则用于 JihuLab.com 部署器 触发的部署名称。 |
DEPLOYER_TRIGGER_PROJECT |
用于 JihuLab.com 部署器 的存储库的极狐GitLab 项目 ID。 |
DEPLOYER_TRIGGER_TOKEN |
用于各种 JihuLab.com 部署器 环境的触发令牌。 |
RELEASE_BUCKET |
用于推送发布软件包的 S3 存储桶。 |
BUILDS_BUCKET |
用于推送常规分支软件包的 S3 存储桶。 |
RELEASE_BUCKET_REGION |
S3 存储桶区域。 |
RELEASE_BUCKET_S3_ENDPOINT |
指定 S3 端点。当采用 S3 兼容存储服务时特别有用。 |
GITLAB_BUNDLE_GEMFILE |
设置 gitlab-rails bundle 所需的 Gemfile 路径。默认值为 Gemfile 。 |
GITLAB_COM_PKGS_RELEASE_BUCKET |
用于推送发布软件包的 GCS 存储桶。 |
GITLAB_COM_PKGS_BUILDS_BUCKET |
用于推送常规分支软件包的 GCS 存储桶。 |
GITLAB_COM_PKGS_SA_FILE |
用于推送 SaaS 部署发布软件包的服务账户密钥,它必须具有对 pkgs 存储桶的写访问权限。 |
GITLAB_NAMESPACE |
用于在 Dev 实例中覆盖图像 URL,因为顶级名称从 gitlab-org 转变为 gitlab 。 |
未知/过时变量
环境变量 | 描述 |
---|---|
VERSION_TOKEN |
|
TAKEOFF_TRIGGER_TOKEN |
|
TAKEOFF_TRIGGER_PROJECT |
|
RELEASE_TRIGGER_TOKEN |
|
GITLAB_DEV |
|
GET_SOURCES_ATTEMPTS |
极狐GitLab Runner 变量用于控制 runner 尝试获取 Git 存储库的次数。 |
FOG_REGION |
|
FOG_PROVIDER |
|
FOG_DIRECTORY |
|
AWS_RELEASE_TRIGGER_TOKEN |
用于 13.10 之前的版本发布。 |
ASSETS_AWS_SECRET_ACCESS_KEY |
|
ASSETS_AWS_ACCESS_KEY_ID |
|
AMI_LICENSE_FILE |
DockerHub 变量
默认情况下,CI 使用来自 DockerHub 的图像。默认/共享 runner 和分发 runner 使用 DockerHub 镜像以避免达到速率限制。
如果您使用不使用缓存或镜像的自定义 runner,您应该通过设置 DOCKERHUB_PREFIX
为您的代理启用依赖代理,例如
DOCKERHUB_PREFIX: ${CI_DEPENDENCY_PROXY_GROUP_IMAGE_PREFIX}
,以及 DEPENDENCY_PROXY_LOGIN="true"
。
容器构建上下文默认使用 gcr DockerHub 镜像。此行为可以通过覆盖 DOCKER_OPTIONS
或 DOCKER_MIRROR
变量来改变。