安装 Red Hat Advanced Developer Suite - 软件供应链
了解如何在集群中安装 Red Hat Trusted Application Pipeline。
摘要
前言 复制链接链接已复制到粘贴板!
Red Hat Advanced Developer Suite - 软件供应链(RHADS - SSC)并不是一个产品。相反,它是组合成构建高度自动化、可自定义和安全的平台的集合,用于构建应用程序。
默认情况下,RHADS - SSC 包括以下产品:
- 高级 Cluster Security (ACS) :扫描工件以了解漏洞。
- Developer Hub :一个自助服务门户,用于在整个生命周期中整合应用程序的管理。
- Enterprise Contract: 用来根据自定义策略验证您的工件。
- OpenShift GitOps: 管理 Kubernetes 部署及其基础架构。
- OpenShift Pipelines :启用自动化并为软件的持续集成和持续交付(CI/CD)提供可见性。
- Quay.io :一个容器 registry,用于存储您的工件。
- trusted Artifact Signer: 为 RHADS - SSC 生成的工件签名和验证工件。
- trusted Profile Analyzer: 来提供有关您安全状况的可操作信息。
您可以准确看到这些产品的版本 RHADS - SSC 支持 发行注记 的兼容性和支持列表。
Red Hat Advanced Developer Suite - 软件供应链支持许多默认产品组合的替代选择。之后在安装过程中,本文档介绍了如何自定义部署以满足您的需要。
因为完全可正常工作的 RHADS 实例 - SSC 涉及上面列出的所有产品,安装 RHADS - SSC 需要一些工作。但是,我们使用作为容器镜像打包的安装程序工具自动化这个过程。
请注意,RHADS - SSC 安装程序不是管理器:它不支持升级。安装程序生成 RHADS - SSC 的第一个部署。但在安装后,您必须单独管理 RHADS 中的每个产品 - SSC。虽然安装程序可以多次运行,但在手动更改产品配置后,可能会无法预测。
此外,安装程序部署的产品还适用于生产环境,但它们的大小适用于概念验证或非常小的团队。对于较大的团队,最可能需要手动重新配置产品,并应按照每个产品记录的步骤进行。
最后,请注意,RHADS - SSC 订阅只包含 Red Hat Developer Hub、Red Hat Trusted Artifact Signer、Red Hat Trusted Profile Analyzer 和 Enterprise Contract。RHADS - SSC 安装程序也会部署上面列出的所有其他产品。但是要使用它们,您必须购买一个 OpenShift Plus 的订阅。
要将产品和外部服务与 RHADS - SSC 集成,您必须运行集成命令。这些命令支持以下任一方法:
- 在终端中手动输入变量值。本指南在所有示例中都使用此方法。
-
创建
private.env文件,并在运行集成命令前提供 shell 会话中的变量。
安装步骤
要安装 RHADS - 使用安装程序的 SSC,您必须完成以下步骤:
- 下载 RHADS - SSC 安装程序镜像。
- 创建控制要安装的组件和功能的 ConfigMap。此配置存储在集群中,并在部署过程中供安装程序使用。
- (可选)自定义 ConfigMap 以禁用您要在以后集成的产品。
- 集成产品和外部服务。
- 部署 RHADS - SSC.
以下文档页面详细介绍了每个安装步骤。
第 1 章 登录 Podman 并下载安装程序镜像 复制链接链接已复制到粘贴板!
使用这个流程向 registry.redhat.io 进行身份验证,下载 Red Hat Advanced Developer Suite - 软件供应链(RHADS - SSC)安装程序镜像,并启动安装程序容器。安装程序 CLI (tssc)在此容器中运行,并自动部署和集成 RHADS - SSC 组件。
此步骤可确保在开始安装前安全配置您的环境。
流程
登录到 Red Hat registry:
$ podman login registry.redhat.io下载 RHADS - SSC 安装程序镜像:
$ podman pull registry.redhat.io/rhtap-cli/rhtap-cli-rhel9:1.6.0启动安装程序容器:
$ podman run \ -it \ --entrypoint bash \1 --publish 8228:8228 \2 --rm \ rhtap-cli-rhel9:1.6.03
第 2 章 创建 config.yaml 文件 复制链接链接已复制到粘贴板!
使用这个流程创建 config.yaml 文件。此文件定义了 Red Hat Advanced Developer Suite - 软件供应链(RHADS - SSC)如何部署到 OpenShift 集群中。它还可让 RHADS - SSC 检测并使用您在安装过程中配置的任何外部集成。
先决条件
-
对 OpenShift Container Platform (OCP)集群的
cluster-admin访问权限 -
活跃的
tssc容器会话
流程
在
tssc容器中,以集群管理员身份登录到 OpenShift 集群:bash-5.1$ oc login https://api.<cluster-domain>:6443 \ --username=cluster-admin \ --password=<your-password>创建默认配置文件:
bash-5.1$ tssc config --create
此命令创建一个 config.yaml 文件,该文件定义哪些组件 RHADS - SSC 安装并支持与预先存在的服务集成。您可以稍后自定义此文件,以匹配您的环境和部署要求。
第 3 章 自定义 config.yaml 文件 复制链接链接已复制到粘贴板!
在集成外部产品和服务前自定义 config.yaml 文件,以便在安装过程中保留您的集成设置。
先决条件
- 您可以访问 OpenShift Web 控制台。
- 您计划至少集成一个外部产品或服务(如 RHACS 或 Quay)。
(可选)用于软件目录存储库 URL。RHADS - SSC 提供软件模板目录,供开发人员构建应用程序。要自定义这些模板,请在安装前分叉存储库。
- 在您的浏览器中,前往 RHADS - SSC 软件目录存储库。
点 Fork 对存储库进行分叉。
-
取消选中标有 Copy the
main分支的框。
-
取消选中标有 Copy the
-
创建 fork 时,复制其 URL 并将其保存到
private.env文件中。 - 在 fork 存储库中,单击 main 以打开分支/标签下拉菜单。
在标签下,选择与您的 RHADS - SSC 版本匹配的版本。
注意定期更新您的分叉,使其包含来自上游存储库的更改。
流程
- 在 OpenShift 控制台中,切换到 Administrator 视角。
- 进入 Workloads > ConfigMaps。
- 从 Project 下拉列表中,选择 RHADS - SSC。
-
打开
tssc-configConfigMap。 选择 YAML 视图并导航到定义
config.yaml参数的位置。注意为了避免在集群中已存在重新安装 operator 订阅,请设置
manageSubscription:false。-
manageSubscription:true(默认):安装程序管理和安装所有所需的 operator 订阅。 -
manageSubscription:false:安装程序跳过安装所需的 operator 订阅。 - 确保现有的运算符 与 RHADS - SSC 兼容。不兼容的版本可能会导致安装失败。
-
config.yaml 文件的结构
config.yaml 文件的结构在带有这些关键属性的主 tssc 对象下:
-
命名空间:定义默认的安装命名空间(通常是tssc),充当主要操作区域。 -
设置:控制全局部署设置和属性。 -
产品:列出部署的产品和功能,各自通过具有关联属性的唯一名称来标识。 -
dependencies:指定安装程序按配置文件中定义的顺序部署的依赖项。
自定义 tssc.products 部分
要使用自定义软件目录,请设置
catalogURL:developerHub: properties: catalogURL: https://github.com/<your-org>/tssc-sample-templates/blob/release-v1.6.x/all.yaml要禁用外部集成的组件的自动安装:
advancedClusterSecurity: enabled: &rhacsEnabled false namespace: &rhacsNamespace tssc-acs quay: enabled: &quayEnabled false namespace: &quayNamespace tssc-quay注意如果没有在
config.yaml中正确反映外部集成,安装程序将部署默认组件。更新该文件,以防止意外的调配。为 Developer Hub 启用基于角色的访问控制(RBAC):
developerHub: RBAC: enabled: true adminUsers: - yourGitHubUsername - anotherGitHubAdmin orgs: - your-github-org注意如果您没有定义
adminUsers或orgs,安装程序将默认使用集成期间指定的 GitHub 凭证。要使用自定义命名空间前缀而不是默认的命名空间,请配置
namespacePrefixes属性。默认情况下,RHADS - SSC 在安装过程中创建以下命名空间:-
tssc-app-ci:用于持续集成管道工作负载 tssc-app-development,tssc-app-stage, 和tssc-app-prod: 用于开发、暂存和生产部署您可以自定义这些命名空间的前缀,并定义其他集合。例如:
developerHub: namespacePrefixes: - my_prefix1 # This generates the following namespaces: `my_prefix1-app-ci`, `my_prefix1-app-development`, `my_prefix1-app-stage`, `my_prefix1-app-prod` - my_prefix2 # This generates the following namespaces: `my_prefix2-app-ci`, `my_prefix2-app-development`, `my_prefix2-app-stage`, `my_prefix2-app-prod`-
- 完成所有必要的更改后,选择 Save。
第 4 章 集成产品和外部服务 复制链接链接已复制到粘贴板!
在安装 RHADS - SSC 前,使用此流程集成现有产品或替换默认组件。集成预先存在的服务有助于避免数据重复和不必要的部署。
RHADS - SSC 安装程序部署可一起组成一个安全、自动化的 CI/CD 平台的产品网络。但是,在您的环境中已安装了其中两个产品-高级集群安全性(ACS)和 Quay-might。如果您有任一产品的现有实例,您可以将它们集成到 RHADS - SSC 部署中。
集成可防止数据丢失并避免部署重复服务。如果没有集成现有实例,安装程序会在新命名空间中自动创建一个新实例。
另外,您可以使用支持的替代方案替换默认的 Git、CI 和 registry 组件。您可以为某些类别启用多个替代方案,如源代码存储库或 CI 工具。下表列出了默认组件、其用途以及您可以使用的替代方案:
| 产品 | 用途 | 支持的替代方案 |
|---|---|---|
| GitHub | 源代码存储库 |
|
| Tekton | CI 管道引擎 |
|
| Quy | 工件 registry |
|
CI 管道替代方案符合 SLSA 构建级别 2。只有 Tekton 符合 SLSA 构建级别 3。
当您替换默认的 Git、CI 或 registry 供应商时,RHADS - SSC 在 Red Hat Developer Hub 中安装对应的插件。其中大多数插件只是一个技术预览,或是社区维护的。
由于潜在的安全风险和有限的支持,不建议在生产环境中使用默认组件。
详情请查看 Red Hat Advanced Developer Suite - 软件供应链发行注记 和 RHDH 插件文档中的插件 支持列表。
要集成产品或自定义安装,您必须在使用 cluster-admin 权限登录到 OpenShift 集群的容器中运行所有相关 tssc 命令。
以下流程解释了如何通过集成预先存在的服务和支持的替代方案来自定义 RHADS 的安装 - SSC。
4.1. 集成 GitHub 复制链接链接已复制到粘贴板!
RHADS - SSC 使用 GitHub 来验证用户并创建和管理应用程序存储库。在安装 RHADS - SSC 之前,您必须配置 GitHub 以支持这些功能。
要启用 GitHub 集成,请完成以下步骤:
- 创建 GitHub 个人访问令牌。
- 创建 GitHub 应用程序。
创建 GitHub 个人访问令牌
您必须拥有一个 GitHub 机构来创建个人访问令牌(PAT)。您可以使用现有的 GitHub 组织,创建一个新 GitHub 机构,或者从管理员请求所有权。
安装后,GitHub 组织提供用户为其应用程序生成存储库的位置。
先决条件
- GitHub 机构的所有权
- 具有创建个人访问令牌权限的 GitHub 用户帐户
- 访问 GitHub 开发人员设置
流程
- 进入 GitHub 上的 Developer 设置页面。
- 在左侧导航面板中,在 Personal access token 下,单击 Tokens (classic)。
- 在 Generate new token 下拉菜单中选择 Generate new token (classic)。如果出现提示,请进行身份验证。
-
输入名称,选择过期日期,并在 Select scopes 下选择 repo。这自动包括来自
repo:status到security_events的所有范围。 - 点 Generate token。GitHub 将您重定向到显示令牌的新页面。
-
(可选)将令牌保存到文件中,如
values.txt,以便在后续步骤中重复使用。
创建 GitHub 应用程序
为 RHADS 创建 GitHub 应用程序 - SSC 允许开发人员对 Red Hat Developer Hub 进行身份验证(基于 Web 的界面与 RHADS 交互) - SSC。它还允许 RHADS - SSC 访问您的 GitHub 机构并创建存储库。
您必须在计划与 RHADS - SSC 搭配使用的同一 GitHub 组织中创建并安装此应用程序。安装程序自动执行大多数配置。
先决条件
-
带有存储库范围的
GitHub个人访问令牌 - GitHub 机构的名称
- 分配给 GitHub 应用程序的名称
- registry.redhat.io的有效凭证
-
对 OpenShift 集群的
cluster-admin访问权限 -
访问安装
tssc的终端或容器
流程
运行以下命令来创建 GitHub 应用程序:
bash-5.1$ tssc integration github-app \ --create \ --token="$GH_TOKEN" \ --org="$GH_ORG_NAME" \ $GH_APP_NAME替换以下变量:
-
$GH_TOKEN:GitHub 个人访问令牌 -
$GH_ORG_NAME: GitHub 组织名称 -
$GH_APP_NAME:GitHub 应用程序的名称
-
- 复制命令输出中的 URL,并在浏览器中打开该 URL。
- 点 Create your GitHub App。
- 如有提示,向 GitHub 进行身份验证。
- 点 Create GitHub App for <your organization>。
- 创建应用程序时,点成功消息中的链接在 GitHub 机构中安装应用程序。
- 在重定向的 GitHub 页面上,单击 Install。
- 选择您用于 RHADS - SSC 的 GitHub 组织。
出现提示时,选择 All repositories,然后单击 Install。
注意您可能需要保持此 GitHub 页面处于打开状态。横幅包含一个链接(使用
https://backstage-developer-hub-rhtap…)在安装后访问 RHADS - SSC。
4.2. (可选)集成 RHACS 复制链接链接已复制到粘贴板!
使用这个流程将 Advanced Cluster Security (RHACS)的现有实例集成到 RHADS - SSC 安装中。
集成 RHACS 可确保您的部署使用现有的配置和数据,而不是创建新的 RHACS 实例。
先决条件
- 管理员对现有 RHACS 实例的访问权限
流程
在集成 RHACS 前,获取 API 令牌和中央端点 URL。URL 必须包含协议、主机名和端口。例如:
https://central-rhacs.example.com:443。- 按照 创建 RHACS API 令牌 中的说明来生成令牌。
-
将令牌保存到文件中,如
values.txt,以便在后续步骤中重复使用。 - 按照 Configure the Central 端点 URL 中的说明,找到您的 ACS Central 端点。
-
将端点 URL 保存到文件中,如
values.txt,以便在后续步骤中重复使用。
在
tssc容器中,运行以下集成命令:bash-5.1$ tssc integration acs \ --endpoint="$ACS_ENDPOINT" \ --token="$ACS_TOKEN"替换以下变量:
-
$ACS_ENDPOINT:您的 RHACS Central 端点的 URL -
$ACS_TOKEN:RHAC API 令牌
-
4.3. (可选)集成 Quay 复制链接链接已复制到粘贴板!
使用这个流程将现有 Quay 组织或自托管 Quay 实例与 RHADS - SSC 作为容器镜像 registry 集成。
如果您没有集成现有的 Quay 实例,RHADS - SSC 安装程序将部署一个新的 Quay 实例。要使用它,您必须在 安装了 RHADS - SSC 后集成此实例。
红帽建议为此集成使用机器人帐户,而不是用户帐户。安装 RHADS - SSC 后,机器人帐户允许自动系统和多个用户向 Quay 命名空间进行身份验证。
要了解如何创建和配置机器人帐户,请参阅: 在 Red Hat Quay 中创建和使用机器人帐户。
流程
在 Web 浏览器中,登录您的 Quay 帐户。
- 浏览到您组织的机器人帐户。
- 选择适当的机器人帐户。例如,具有写入权限的机器人帐户。
- 在弹出窗口中,选择 Docker Configuration > View [username-robotaccount]-auth.json。
-
复制遵循
"auth":的字符串值(没有引号)。 -
将
auth值和 Quay 用户名保存到文件中,如values.txt,以便在构建 Docker 配置时使用它们。 - 对机器人帐户具有读取权限,重复执行 1b 到 1e 的步骤。
- 在单独的浏览器选项卡中,前往 Repositories 页面。
- 在 Users and Organizations 下,单击您要与 RHADS - SSC 搭配使用的组织的名称。
- 在左侧导航中,单击 Applications。
- 点 Create New Application 并输入名称。
- 点您创建的应用程序的名称。
- 在左侧导航中,单击 Generate Token。
- 在权限列表中,选择 View all visible repositories。
- 单击 Generate Access Token。
- 单击 授权应用程序。Quay 显示访问令牌。复制此令牌。
您可以使用 OAuth 应用程序而不是用户或机器人帐户。如需更多信息,请参阅创建 OAuth 2 访问令牌。
另外,只需要 View all visible repositories 权限。
在
tssc容器中,运行以下命令将 Quay 与 RHADS - SSC 集成,传递所有所需的值内联:# Docker configuration JSON string for the read/write robot account bash-5.1$ tssc integration quay \ --dockerconfigjson='{"auths":{"quay.io":{"auth":"<auth_token_write_permission>","email":""}}}' \ --dockerconfigjsonreadonly='{"auths":{"quay.io":{"auth":"<auth_token_read_permission>","email":""}}}' --token="<quay_access_token>" \ --url="https://quay.io"替换以下值:
-
<auth_token_write_permission> :在"auth":for read and write robot account 下的auth.json文件中的值。 -
<auth_token_read_permission> :在"auth":for read only robot account 下的auth.json文件中的值。 -
<quay_access_token> : 通过 OAuth 应用程序生成的访问令牌 -
https://quay.io: Quay 实例 URL (如果自托管则使用您的自定义 URL)
-
确保将 entire-- dockerconfigjson 值包含在单引号中,以保留 JSON 格式。
4.4. (可选)集成 Bitbucket 复制链接链接已复制到粘贴板!
如果要使用 Bitbucket 云托管用于 RHADS - SSC 的源代码,请使用以下步骤。
先决条件
Bitbucket 用户名。查找您的 Bitbucket 用户名:
- 在 Bitbucket 中,单击边栏中的 profile 图片,再选择 View profile。
- 在侧边栏中,单击 Settings。您的用户名显示在帐户设置中。
- 应用程序密码
流程
在
tssc容器中,运行以下集成命令:bash-5.1$ tssc integration bitbucket \ --username="$BB_USERNAME" \ --app-password="$BB_TOKEN" \ --host="$BB_URL"替换以下变量:
-
$BB_USERNAME: 您的 Bitbucket 用户名 -
$BB_TOKEN:您的 Bitbucket 应用程序密码 $BB_URL:您的 Bitbucket 主机 URL (可选)注意如果您使用默认的 Bitbucket 云主机(
bitbucket.org),您可以省略 the-host选项。
-
4.5. (可选)集成 GitHub 操作 复制链接链接已复制到粘贴板!
如果要使用 GitHub Actions 作为替代持续集成(CI)供应商,则在安装前不需要额外的配置。
之前创建的 GitHub 应用程序启用了 RHADS - SSC 的 GitHub Actions 集成。
4.6. (可选)集成 GitLab 复制链接链接已复制到粘贴板!
如果要使用 GitLab 托管源代码,或使用 RHADS - SSC 作为持续集成(CI)供应商,请使用以下步骤。
先决条件
- 您必须具有创建和管理 GitLab 作业所需的权限。
- 您必须具有个人访问令牌。具体步骤请查看 GitLab API 令牌 文档。
-
如果您计划与自定义 GitLab 主机集成,则必须具有 GitLab 主机 URL。如果没有指定主机,系统默认为
gitlab.com。 - 您必须具有包含存储库的 GitLab 组名称。
流程
在
tssc容器中,运行以下集成命令:bash-5.1$ tssc integration gitlab \ --token="$GL_API_TOKEN" \ --host="$GL_URL" \ --group="$GL_GROUP"替换以下变量:
-
$GL_API_TOKEN:您的 GitLab 个人访问令牌 -
$GL_URL:您的 GitLab 主机 URL (如果使用gitlab.com,则忽略此选项) -
$GL_GROUP:包含您的存储库的 GitLab 组名称
-
4.7. (可选)集成 Jenkins 复制链接链接已复制到粘贴板!
使用这个流程将 Jenkins 集成为 RHADS - SSC 的持续集成(CI)供应商。
先决条件
- 您必须具有创建和管理 Jenkins 任务所需的权限。
您必须具有以下 Jenkins 凭证:
- 用于访问 Jenkins 实例的 URL
- Jenkins 用户 ID
- Jenkins API 令牌
流程
在
tssc容器中,运行以下集成命令:bash-5.1$ tssc integration jenkins \ --token="$JK_API_TOKEN" \ --url="$JK_URL" \ --username="$JK_USERNAME"替换以下变量:
-
$JK_API_TOKEN:您的 Jenkins API 令牌 -
$JK_URL: Jenkins 实例的 URL -
$JK_USERNAME: 您的 Jenkins 用户 ID
-
4.8. (可选)集成 Azure Pipelines 复制链接链接已复制到粘贴板!
使用这个流程将 Azure Pipelines 与 RHADS - SSC 集成。
先决条件
- 您必须在 Azure 订阅中具有所需的权限来注册应用程序并管理 API 权限。
- 您必须注册个人访问令牌(PAT)。具体步骤请查看 Microsoft 文档: 如何在 Azure DevOps 中生成个人访问令牌
您必须收集以下值:
-
AZURE_ORGANIZATION: 您的 Azure DevOps 组织的名称(如my-org-name) -
AZURE_HOST_URL: Azure DevOps 环境的基本 URL。默认值为dev.azure.com。
-
(可选)如果您使用注册的 Azure Active Directory (AAD)应用程序进行身份验证,还要收集:
-
AZURE_TENANT_ID: 目录(租户)ID。请参阅 查找您的租户 ID -
AZURE_CLIENT_ID:应用程序(客户端)ID。请参阅 使用 Microsoft 身份平台注册应用程序 -
AZURE_CLIENT_SECRET:AAD 应用中生成的客户端 secret。请参阅 创建客户端 secret
注意如果不使用注册的 AAD 应用程序,还必须收集
AZURE_API_TOKEN,这是用于通过 Azure DevOps 进行身份验证的个人访问令牌。https://learn.microsoft.com/en-us/azure/devops/organizations/accounts/use-personal-access-tokens-to-authenticate-
流程
在
tssc容器中,运行以下集成命令:bash-5.1$ tssc integration azure \ --organization="$AZURE_ORGANIZATION" \ --host="$AZURE_HOST_URL" \ --token="$AZURE_API_TOKEN" \ --tenantID="$AZURE_TENANT_ID" \ --client-id="$AZURE_CLIENT_ID" \ --client-secret="$AZURE_CLIENT_SECRET"替换以下变量:
-
$AZURE_ORGANIZATION: 您的 Azure DevOps 组织名称 -
$AZURE_HOST_URL:您的 DevOps 基础 URL (如果使用默认的dev.azure.com,则忽略此选项。) -
$AZURE_API_TOKEN:您的个人访问令牌 -
$AZURE_TENANT_ID: (可选)AAD 租户 ID -
$AZURE_CLIENT_ID: (可选)AAD 应用程序客户端 ID -
$AZURE_CLIENT_SECRET:(可选)AAD 应用程序客户端 secret
-
4.9. (可选)集成 JFrog Artifactory 复制链接链接已复制到粘贴板!
使用这个流程将现有 JFrog Artifactory 实例与 RHADS - SSC 集成。此集成允许您在 CI/CD 操作过程中将您的 Artifactory 存储库用作工件 registry。
此模块可帮助您配置 RHADS - SSC 和 Artifactory 实例之间的身份验证,从而启用无缝存储和检索容器镜像。
先决条件
- 管理员对 JFrog Artifactory 实例的访问权限
- 要与 RHADS - SSC 搭配使用的 Artifactory 中的软件仓库
流程
- 在 Artifactory Web UI 中,进入 Administration 视图。
- 单击您要使用的存储库旁边的绿色 设置客户端/CI 工具 按钮。
- 选择 Docker Client。
按照 UI 中的说明,通过 CLI 进行身份验证:
-
UI 生成用作 Docker 密码的令牌。将令牌保存到文件中,如
values.txt,以便后续步骤中重复使用 通过 CLI 登录 JFrog 后,您应看到一条信息,表示您的密码保存在文件(如
~/.docker/config.json)。注意如果没有看到此消息,您可以在后续步骤中手动生成
config.json内容。
-
UI 生成用作 Docker 密码的令牌。将令牌保存到文件中,如
在
tssc容器中,运行以下集成命令:bash-5.1$ tssc integration artifactory \ --url="$AF_URL" \ --dockerconfigjson='$AF_DOCKERCONFIGJSON' \ --token="$AF_API_TOKEN"替换以下变量:
-
$AF_URL: JFrog 实例的 URL (例如 https://myusername.jfrog.io) -
$AF_DOCKERCONFIGJSON:存储密码的config.json文件的内容 $AF_API_TOKEN:由 JFrog 生成的令牌注意确保将
$AF_DOCKERCONFIGJSON值嵌套在单引号中,以保留 JSON 结构。如果 CLI 没有生成
config.json文件,您可以使用以下格式手动创建其内容:{ "auths": { "<URL for your JFrog instance>": { "auth": "<base64 format of username:password>", "email": "" } } }
-
4.10. (可选)集成 Sonatype Nexus 仓库 复制链接链接已复制到粘贴板!
使用这个流程将 Sonatype Nexus 存储库的现有实例与 RHADS - SSC 集成。此集成允许您在 CI/CD 操作过程中将 Nexus 存储库用作工件 registry。
先决条件
- Nexus 容器注册表的 URL
- Nexus registry 的用户名和密码
流程
(可选)创建临时环境变量并存储以下值:
REGISTRY_URL="<url to the nexus container registry>" AUTHFILE='auth.json' # This file will be created in the next step.如果您选择不创建这些变量,请记得将代码示例中的变量替换为相关值。
使用 Podman 登录到 Nexus 容器 registry,并生成与 Docker 兼容的身份验证文件:
podman login --authfile="${AUTHFILE}" "${REGISTRY_URL}"此命令登录 Nexus,创建一个
auth.json文件,并将 Nexus 用户名和密码存储在其中。在
tssc容器中,运行以下集成命令:tssc integration nexus \ --url="${REGISTRY_URL}" \ --dockerconfigjson="$(cat ${AUTHFILE})"删除本地
auth.json文件,因为它已不再需要。rm "${AUTHFILE}"
第 5 章 部署 RHADS - SSC 复制链接链接已复制到粘贴板!
在完成所有需要的配置后,使用此流程安装 Red Hat Advanced Developer Suite - 软件供应链(RHADS - SSC)。
先决条件
-
tssc容器正在运行。 - 已使用 cluster-admin 访问权限登录到 OpenShift 集群。
-
您已自定义
config.yaml文件。
流程
在容器终端中,运行部署命令:
bash-5.1$ tssc deploy注意如果部署了所有组件,则安装过程通常需要大约一小时才能完成。
监控命令输出。在部署过程中,CLI 会输出有用的信息,包括 URL 和访问部署组件的说明。您可以将输出保存到文件中,如
values.txt,以备将来参考。输出可能包括:- Developer Hub (Backstage) URL
- ACS、Quay 和其他仪表板(如果已部署)
- 特定于组件的指导或状态信息
要访问 Developer Hub UI,请使用 GitHub App 页面中提供的链接或安装输出中显示的链接。它以以下开始:
https://backstage-developer-hub-rhtap.apps.<cluster-domain>
第 6 章 安装后集成 复制链接链接已复制到粘贴板!
6.1. (可选)集成 RHADS 部署的 Quay - SSC 复制链接链接已复制到粘贴板!
如果您使用一个新的 Quay 实例,它在安装过程中部署了 RHADS - SSC 安装程序,您需要重新生成 Quay OAuth 访问令牌并更新运行 RHADS - SSC 的 OpenShift 集群上的 Quay 集成 secret。
这是必要的,因为 RHADS - SSC 安装期间生成的初始令牌在 2 小时内过期。过期后,RHADS - SSC 无法访问 Quay,并查看 rhtap 组织下的存储库。因此,RHDH UI 中的 Image Registry 选项卡不会显示存储在您的 Quay 存储库中的工件。
以下流程确保 RHADS - SSC 能够访问 Quay。
流程
- 使用 RHADS - SSC 登录在同一集群中运行的 Quay 实例。
-
导航到
rhtap组织。 - 选择 Applications > OAuth Applications > Create New Application > Generate Token。
- 选中 View all visible repositories 选项的复选框。
- 单击 Generate Access Token。
- 复制并保存访问令牌。
在终端中运行以下命令来更新
rhtap-quay-integrationsecret:export ACCESS_TOKEN=<generated-Quay-token> oc patch secret rhtap-quay-integration \ -n rhtap \ --type='merge' \ -p="{\"data\":{\"token\":\"$(echo -n $ACCESS_TOKEN | base64)\"}}" tssc deploy chart/rhtap-dh此步骤还应自动更新
developer-hub-rhtap-envsecret。
当 rhtap-dh 项目中的新的 backstage-developer-hub pod 启动并运行时,这些更改将生效。
验证
- 进入 Red Hat Developer Hub UI 并重新载入 Image Registry 选项卡。现在,标签应该会列出存储在您的 Quay 存储库中的所有工件。
另外,要验证所需的 secret 是否已成功更新,您可以显示
rhtap-quay-integration和developer-hub-rhtap-envsecret 的值:oc get secret rhtap-quay-integration -o json -n rhtap | jq -r .data.token | base64 -d oc get secrets developer-hub-rhtap-env -o json -n rhtap-dh | jq -r .data.QUAY__API_TOKEN | base64 -d输出应显示您新生成的 Quay 访问令牌。
其他资源
- 如需有关 Quay OAuth 令牌的更多信息,请参阅 Red Hat Quay 文档中的 OAuth 2 访问令牌。
更新于 2025-09-06