第 1 章 将 secret 和变量添加到 GitLab CI 中,以便与外部工具集成
先决条件
在配置 GitLab CI 前,请确定您有以下内容:
- 管理员对 GitLab 存储库和 CI/CD 设置的访问权限。
- 用于从 Quay.io、JFrog Artifactory 或 Sonatype Nexus 中拉取容器镜像的 容器注册表凭证。
特定 GitLab CI 任务的 身份验证详情 :
对于 ACS 安全任务 :
- ROX Central 服务器端点
- ROX API 令牌
对于 SBOM 和工件签名任务 :
- Cosign 签名密钥密码、私钥和公钥
- Trustification API 和 issuer URL, client ID, client secret, and supported CycloneDX version
注意凭证和其他详情已经经过 Base64 编码,因此您不需要再次编码它们。您可以在您的
private.env
文件中找到这些凭证,该文件在 RHTAP 安装过程中创建。
1.1. 选项 1:使用 UI 将 secret 和变量添加到 GitLab CI 复制链接链接已复制到粘贴板!
流程
此流程添加所需的 secret 和环境变量。请注意,您需要屏蔽 secret 的值。
- 登录 GitLab 并打开您的源存储库。
- 展开 Setting 菜单,然后选择 CI/CD。
- 在 Variables 部分中,选择 Expand。
选择 Add 变量 并在弹出窗口中添加第一个 secret:
- 在 Key 字段中,输入 MY_GITLAB_TOKEN。
- 在 Value 字段中,输入与 GitLab 帐户关联 的令牌。
- 在 Flags 下,选择 Mask 变量 来隐藏敏感值。
- 选择 添加变量。
重复步骤 4 来添加所需的 secret,并检查每个 secret 的 Mask 变量 标志:
Expand 表 1.1. 镜像 registry 和 GitOps secret 变量 描述 QUAY_IO_CREDS_PSW
用于访问 Quay 存储库的密码。
RTIFACTORY_IO_CREDS_PSW
用于访问 JFrog Artifactory 存储库的密码。
NEXUS_IO_CREDS_PSW
用于访问 Sonatype Nexus 存储库的密码。
GITOPS_AUTH_PASSWORD
系统用来为新构建镜像更新 GitOps 存储库的令牌。
Expand 表 1.2. ACS 和 SBOM 任务所需的 secret 变量 描述 ROX_API_TOKEN
用于访问 ROX 服务器的 API 令牌。
COSIGN_SECRET_PASSWORD
Cosign 签名密钥的密码。
COSIGN_SECRET_KEY
Cosign 的私钥。
TRUSTIFICATION_OIDC_CLIENT_SECRET
与客户端 ID 一起使用的客户端 secret,以向 Trustification Bombastic API 进行身份验证。
添加常规环境变量:
- 选择 添加变量。
- 在 Key 字段中,输入密钥,例如 QUAY_IO_CREDS_USR。
- 在 Value 字段中,输入用于访问 Quay 存储库的用户名。
- 在标记 下,请勿选择 Mask 变量。
- 选择 添加变量。
重复步骤 6 以添加以下变量:
Expand 表 1.3. 镜像 registry 和 GitOps 变量 变量 描述 QUAY_IO_CREDS_USR
用于访问 Quay 存储库的用户名。
RTIFACTORY_IO_CREDS_USR
用于访问 JFrog Artifactory 存储库的用户名。
NEXUS_IO_CREDS_USR
用于访问 Nexus 存储库的用户名。
GITOPS_AUTH_USERNAME
您的 OpenShift GitOps 用户名。
Expand 表 1.4. ACS 和 SBOM 任务所需的变量 变量 描述 ROX_CENTRAL_ENDPOINT
ROX Central 服务器的端点。
COSIGN_PUBLIC_KEY
Cosign 的公钥。
TRUSTIFICATION_BOMBASTIC_API_URL
SBOM 生成中使用的 Trustification Bombastic API 的 URL。
TRUSTIFICATION_OIDC_ISSUER_URL
与 Trustification Bombastic API 交互时用于身份验证的 OIDC 签发者 URL。
TRUSTIFICATION_OIDC_CLIENT_ID
用于使用 OIDC 向 Trustification Bombastic API 进行身份验证的客户端 ID。
TRUSTIFICATION_SUPPORTED_CYCLONEDX_VERSION
指定系统支持并生成的 CycloneDX SBOM 版本。
可选 :如果您的 CI 供应商运行程序没有在与 RHTAP 实例相同的集群中运行,则设置 Rekor 和 TUF 变量。
Expand 表 1.5. Rekor 和 TUF 变量 变量 描述 REKOR_HOST
您的 Rekor 服务器的 URL。
TUF_MIRROR
您的 TUF 服务的 URL。
重新运行最后的管道运行,以验证 secret 是否已正确应用。
- 或者,切换到 GitLab 中应用的源存储库,进行次要更改,并提交它以触发新的管道运行。