第 1 章 在 Jenkins 中添加 secret 和环境变量以便与外部工具集成
在创建应用程序时,当您将 Jenkins 选择为 CI 供应商时,您必须将 secret 和环境变量添加到 Jenkins 中,以便与外部工具进行集成。这可让 Jenkins 执行基本任务,如漏洞扫描、镜像签名和测试生成。
先决条件
- 您必须具有创建和管理 Jenkins 任务、变量和 CI 管道所需的权限。
- 您必须具有镜像 registry 的用户名和密码,如 Quay.io、Jfrog Artifactory 或 Sonatype Nexus。
- 您必须具有适当的 GitOps 凭证。
您必须具有 Jenkins 管道执行的特定任务的以下信息:
对于 ACS 任务:
- ROX Central 服务器端点和令牌
对于 SBOM 任务:
- Cosign 签名密钥密码、私钥和公钥
- Trustification API 和 issuer URL, client ID, client secret, and supported CycloneDX version
注意用于这些凭证的值已经经过 Base64 编码,因此您不需要转换它们。您可以在
private.env
文件中找到这些凭证。
1.1. 在 Jenkins 中添加 secret 复制链接链接已复制到粘贴板!
按照以下步骤,使用 Jenkins 服务器上的 UI 添加所需的凭证。
流程
- 在 Web 浏览器中打开 Jenkins 实例,并使用您的管理员凭据登录。
- 选择 Jenkins 仪表板右上角的用户名。
- 从左侧边栏,选择 Manage Jenkins。
- 在 Security 部分中,选择 Credentials。
- 在 Stores 范围下,选择 System。
- 选择您要添加凭证的域。通常,它是 全局凭据(无限制), 单击此域名。
- 选择 Add Credentials。
- 从 Kind 下拉列表中,选择 Secret 文本。
- 将 Scope 下拉列表中的默认值保留为 Global (Jenkins…)。
- 在 UI 字段中输入与 secret 相关的信息。
- 选择 Create。
重复步骤 7-11 以添加以下凭证:
注意对于镜像 registry,Quay 是默认选项。要使用 JFrog Artifactory 或 Sonatype Nexus,请在克隆的 tssc-sample-templates GitHub 仓库中的 gitops-template 和 source-repo 文件夹中取消注释 2 Jenkinsfiles 中的对应变量的行。
Expand 表 1.1. 镜像 registry 和 GitOps secret 变量 描述 QUAY_IO_CREDS
用于访问 Quay.io 存储库的用户名和密码。这是在 Jenkinsfile 中取消注释的默认选项。
RTIFACTORY_IO_CREDS
用于访问 JFrog Artifactory 存储库的用户名和密码。
NEXUS_IO_CREDS
用于访问 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 进行身份验证。
重新运行最后的管道运行。
- 或者,切换到 GitHub 中应用的源存储库,进行次要更改,并提交它以触发新的管道运行。