第 1 章 在 GitHub Actions 中添加用于与外部工具集成的 secret 和变量
先决条件
在配置 GitHub Actions 前,请确定您有以下内容:
- 对 GitHub 存储库和 CI/CD 设置的管理员访问权限。
- 用于从 Quay.io、JFrog Artifactory 或 Sonatype Nexus 中拉取容器镜像的 容器注册表凭证。
特定 GitHub Actions 任务的 身份验证详情 :
对于 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 和变量添加到 GitHub Actions 复制链接链接已复制到粘贴板!
流程
- 登录 GitHub 并导航到您的源存储库。
- 转至 Settings 选项卡。
- 在左侧导航窗格中,选择 Secrets 和 variables,然后选择 Actions。
在 Actions secret 和 variables 页面中,选择 Secrets 选项卡。
- 选择 New repository secret。
- 在 Name 字段中输入 MY_GITHUB_TOKEN。
- 在 Secret 字段中,输入与您的 GitHub 帐户关联 的令牌。
- 选择 Add secret。
重复步骤 4 以添加所需的 secret:
Expand 表 1.1. 镜像 registry 和 GitOps secret 变量 描述 IMAGE_REGISTRY_PASSWORD
用于访问容器镜像 registry 的密码。
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 进行身份验证。
在 Actions secret 和 variables 页面中,切换到 Variables 选项卡。
- 选择 New repository variable。
- 在 Name 字段中,输入 IMAGE_REGISTRY_USER。
- 在 Value 字段中输入用于访问容器镜像 registry 的用户名。
- 选择 添加变量。
重复步骤 6 以添加所需的变量:
Expand 表 1.3. 镜像 registry 变量 变量 描述 IMAGE_REGISTRY_USER
用于访问容器镜像 registry 的用户名。
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 是否已正确应用。
- 或者,切换到 GitHub 中应用的源存储库,进行次要更改,并提交它以触发新的管道运行。