安装 Red Hat Advanced Developer Suite - 软件供应链


Red Hat Advanced Developer Suite - software supply chain 1.6

了解如何在集群中安装 Red Hat Trusted Application Pipeline。

Red Hat Customer Content Services

摘要

本文档提供有关如何在集群中安装 Red Hat Trusted Application Pipeline 的信息。

前言

Red Hat Advanced Developer Suite - 软件供应链(RHADS - SSC)并不是一个产品。相反,它是组合成构建高度自动化、可自定义和安全的平台的集合,用于构建应用程序。

默认情况下,RHADS - SSC 包括以下产品:

您可以准确看到这些产品的版本 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,您必须完成以下步骤:

  1. 下载 RHADS - SSC 安装程序镜像。
  2. 创建控制要安装的组件和功能的 ConfigMap。此配置存储在集群中,并在部署过程中供安装程序使用。
  3. (可选)自定义 ConfigMap 以禁用您要在以后集成的产品。
  4. 集成产品和外部服务。
  5. 部署 RHADS - SSC.

以下文档页面详细介绍了每个安装步骤。

第 1 章 登录 Podman 并下载安装程序镜像

使用这个流程向 registry.redhat.io 进行身份验证,下载 Red Hat Advanced Developer Suite - 软件供应链(RHADS - SSC)安装程序镜像,并启动安装程序容器。安装程序 CLI (tssc)在此容器中运行,并自动部署和集成 RHADS - SSC 组件。

此步骤可确保在开始安装前安全配置您的环境。

先决条件

  • 您工作站上的容器管理工具,如 PodmanDocker
  • 访问 registry.redhat.io的有效凭证

流程

  1. 登录到 Red Hat registry:

    $ podman login registry.redhat.io
  2. 下载 RHADS - SSC 安装程序镜像:

    $ podman pull registry.redhat.io/rhtap-cli/rhtap-cli-rhel9:1.6.0
  3. 启动安装程序容器:

    $ podman run \
      -it \
      --entrypoint bash \ 
    1
    
      --publish 8228:8228 \ 
    2
    
      --rm \
      rhtap-cli-rhel9:1.6.0 
    3
    1
    使用交互式 Bash shell 打开容器。
    2
    公开端口 8228,这是集成过程中 GitHub 应用程序创建所需的。
    3
    指定您在上一步中拉取的 RHADS - SSC 安装程序镜像。

第 2 章 创建 config.yaml 文件

使用这个流程创建 config.yaml 文件。此文件定义了 Red Hat Advanced Developer Suite - 软件供应链(RHADS - SSC)如何部署到 OpenShift 集群中。它还可让 RHADS - SSC 检测并使用您在安装过程中配置的任何外部集成。

先决条件

  • 对 OpenShift Container Platform (OCP)集群的 cluster-admin 访问权限
  • 活跃的 tssc 容器会话

流程

  1. tssc 容器中,以集群管理员身份登录到 OpenShift 集群:

    bash-5.1$ oc login https://api.<cluster-domain>:6443 \
      --username=cluster-admin \
      --password=<your-password>
  2. 创建默认配置文件:

    bash-5.1$ tssc config --create
注意

此命令创建一个 config.yaml 文件,该文件定义哪些组件 RHADS - SSC 安装并支持与预先存在的服务集成。您可以稍后自定义此文件,以匹配您的环境和部署要求。

第 3 章 自定义 config.yaml 文件

在集成外部产品和服务前自定义 config.yaml 文件,以便在安装过程中保留您的集成设置。

先决条件

  • 您可以访问 OpenShift Web 控制台。
  • 您计划至少集成一个外部产品或服务(如 RHACS 或 Quay)。
  • (可选)用于软件目录存储库 URL。RHADS - SSC 提供软件模板目录,供开发人员构建应用程序。要自定义这些模板,请在安装前分叉存储库。

    1. 在您的浏览器中,前往 RHADS - SSC 软件目录存储库
    2. Fork 对存储库进行分叉。

      1. 取消选中标有 Copy the main 分支的框
    3. 创建 fork 时,复制其 URL 并将其保存到 private.env 文件中。
    4. 在 fork 存储库中,单击 main 以打开分支/标签下拉菜单。
    5. 在标签下,选择与您的 RHADS - SSC 版本匹配的版本。

      注意

      定期更新您的分叉,使其包含来自上游存储库的更改。

流程

  1. 在 OpenShift 控制台中,切换到 Administrator 视角。
  2. 进入 Workloads > ConfigMaps
  3. 从 Project 下拉列表中,选择 RHADS - SSC。
  4. 打开 tssc-config ConfigMap。
  5. 选择 YAML 视图并导航到定义 config.yaml 参数的位置。

    注意
    • 为了避免在集群中已存在重新安装 operator 订阅,请设置 manageSubscription:false

      • manageSubscription:true (默认):安装程序管理和安装所有所需的 operator 订阅。
      • manageSubscription:false :安装程序跳过安装所需的 operator 订阅。
      • 确保现有的运算符 与 RHADS - SSC 兼容。不兼容的版本可能会导致安装失败。

config.yaml 文件的结构

config.yaml 文件的结构在带有这些关键属性的主 tssc 对象下:

  • 命名空间 :定义默认的安装命名空间(通常是 tssc),充当主要操作区域。
  • 设置 :控制全局部署设置和属性。
  • 产品 :列出部署的产品和功能,各自通过具有关联属性的唯一名称来标识。
  • dependencies :指定安装程序按配置文件中定义的顺序部署的依赖项。

自定义 tssc.products 部分

  1. 要使用自定义软件目录,请设置 catalogURL

    developerHub:
      properties:
        catalogURL: https://github.com/<your-org>/tssc-sample-templates/blob/release-v1.6.x/all.yaml
  2. 要禁用外部集成的组件的自动安装:

    advancedClusterSecurity:
      enabled: &rhacsEnabled false
      namespace: &rhacsNamespace tssc-acs
    
    quay:
      enabled: &quayEnabled false
      namespace: &quayNamespace tssc-quay
    注意

    如果没有在 config.yaml 中正确反映外部集成,安装程序将部署默认组件。更新该文件,以防止意外的调配。

  3. 为 Developer Hub 启用基于角色的访问控制(RBAC):

    developerHub:
      RBAC:
        enabled: true
        adminUsers:
          - yourGitHubUsername
          - anotherGitHubAdmin
        orgs:
          - your-github-org
    注意

    如果您没有定义 adminUsersorgs,安装程序将默认使用集成期间指定的 GitHub 凭证。

  4. 要使用自定义命名空间前缀而不是默认的命名空间,请配置 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`
  5. 完成所有必要的更改后,选择 Save

第 4 章 集成产品和外部服务

在安装 RHADS - SSC 前,使用此流程集成现有产品或替换默认组件。集成预先存在的服务有助于避免数据重复和不必要的部署。

RHADS - SSC 安装程序部署可一起组成一个安全、自动化的 CI/CD 平台的产品网络。但是,在您的环境中已安装了其中两个产品-高级集群安全性(ACS)和 Quay-might。如果您有任一产品的现有实例,您可以将它们集成到 RHADS - SSC 部署中。

集成可防止数据丢失并避免部署重复服务。如果没有集成现有实例,安装程序会在新命名空间中自动创建一个新实例。

另外,您可以使用支持的替代方案替换默认的 Git、CI 和 registry 组件。您可以为某些类别启用多个替代方案,如源代码存储库或 CI 工具。下表列出了默认组件、其用途以及您可以使用的替代方案:

Expand
产品用途支持的替代方案

GitHub

源代码存储库

  • GitLab
  • Bitbucket 云

Tekton

CI 管道引擎

  • Jenkins
  • GitHub 操作
  • GitLab CI
  • Azure Pipelines (技术预览)

Quy

工件 registry

  • JFrog Artifactory
  • Sonatype Nexus 仓库
注意

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 集成,请完成以下步骤:

  1. 创建 GitHub 个人访问令牌。
  2. 创建 GitHub 应用程序。
创建 GitHub 个人访问令牌

您必须拥有一个 GitHub 机构来创建个人访问令牌(PAT)。您可以使用现有的 GitHub 组织,创建一个新 GitHub 机构,或者从管理员请求所有权。

安装后,GitHub 组织提供用户为其应用程序生成存储库的位置。

先决条件

流程

  1. 进入 GitHub 上的 Developer 设置页面
  2. 在左侧导航面板中,在 Personal access token 下,单击 Tokens (classic)
  3. Generate new token 下拉菜单中选择 Generate new token (classic)。如果出现提示,请进行身份验证。
  4. 输入名称,选择过期日期,并在 Select scopes 下选择 repo。这自动包括来自 repo:statussecurity_events 的所有范围。
  5. Generate token。GitHub 将您重定向到显示令牌的新页面。
  6. (可选)将令牌保存到文件中,如 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 的终端或容器

流程

  1. 运行以下命令来创建 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 应用程序的名称
  2. 复制命令输出中的 URL,并在浏览器中打开该 URL。
  3. Create your GitHub App
  4. 如有提示,向 GitHub 进行身份验证。
  5. Create GitHub App for <your organization>
  6. 创建应用程序时,点成功消息中的链接在 GitHub 机构中安装应用程序。
  7. 在重定向的 GitHub 页面上,单击 Install
  8. 选择您用于 RHADS - SSC 的 GitHub 组织。
  9. 出现提示时,选择 All repositories,然后单击 Install

    注意

    您可能需要保持此 GitHub 页面处于打开状态。横幅包含一个链接(使用 https://backstage-developer-hub-rhtap…​)在安装后访问 RHADS - SSC。

4.2. (可选)集成 RHACS

使用这个流程将 Advanced Cluster Security (RHACS)的现有实例集成到 RHADS - SSC 安装中。

集成 RHACS 可确保您的部署使用现有的配置和数据,而不是创建新的 RHACS 实例。

先决条件

  • 管理员对现有 RHACS 实例的访问权限

流程

  1. 在集成 RHACS 前,获取 API 令牌和中央端点 URL。URL 必须包含协议、主机名和端口。例如: https://central-rhacs.example.com:443

    1. 按照 创建 RHACS API 令牌 中的说明来生成令牌。
    2. 将令牌保存到文件中,如 values.txt,以便在后续步骤中重复使用。
    3. 按照 Configure the Central 端点 URL 中的说明,找到您的 ACS Central 端点。
    4. 将端点 URL 保存到文件中,如 values.txt,以便在后续步骤中重复使用。
  2. 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 后集成此实例

先决条件

  • Quay 帐户
  • Quay 组织 的所有权(支持任何计划,包括免费)
  • Quay 组织中配置的两个机器人帐户:

    • 一个具有写入权限。
    • 具有读取权限的用户。
注意

红帽建议为此集成使用机器人帐户,而不是用户帐户。安装 RHADS - SSC 后,机器人帐户允许自动系统和多个用户向 Quay 命名空间进行身份验证。

要了解如何创建和配置机器人帐户,请参阅: 在 Red Hat Quay 中创建和使用机器人帐户

流程

  1. 在 Web 浏览器中,登录您的 Quay 帐户。

    1. 浏览到您组织的机器人帐户。
    2. 选择适当的机器人帐户。例如,具有写入权限的机器人帐户。
    3. 在弹出窗口中,选择 Docker Configuration > View [username-robotaccount]-auth.json
    4. 复制遵循 "auth": 的字符串值(没有引号)。
    5. auth 值和 Quay 用户名保存到文件中,如 values.txt,以便在构建 Docker 配置时使用它们。
    6. 对机器人帐户具有读取权限,重复执行 1b 到 1e 的步骤。
  2. 在单独的浏览器选项卡中,前往 Repositories 页面
  3. Users and Organizations 下,单击您要与 RHADS - SSC 搭配使用的组织的名称。
  4. 在左侧导航中,单击 Applications
  5. Create New Application 并输入名称。
  6. 点您创建的应用程序的名称。
  7. 在左侧导航中,单击 Generate Token
  8. 在权限列表中,选择 View all visible repositories
  9. 单击 Generate Access Token
  10. 单击 授权应用程序。Quay 显示访问令牌。复制此令牌。
注意

您可以使用 OAuth 应用程序而不是用户或机器人帐户。如需更多信息,请参阅创建 OAuth 2 访问令牌

另外,只需要 View all visible repositories 权限。

  1. 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 用户名:

    1. 在 Bitbucket 中,单击边栏中的 profile 图片,再选择 View profile
    2. 在侧边栏中,单击 Settings。您的用户名显示在帐户设置中。
  • 应用程序密码

流程

  1. 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 组名称。

流程

  1. 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 凭证:

流程

  1. 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 集成。

先决条件

流程

  1. 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 中的软件仓库

流程

  1. 在 Artifactory Web UI 中,进入 Administration 视图。
  2. 单击您要使用的存储库旁边的绿色 设置客户端/CI 工具 按钮。
  3. 选择 Docker Client
  4. 按照 UI 中的说明,通过 CLI 进行身份验证:

    1. UI 生成用作 Docker 密码的令牌。将令牌保存到文件中,如 values.txt,以便后续步骤中重复使用
    2. 通过 CLI 登录 JFrog 后,您应看到一条信息,表示您的密码保存在文件(如 ~/.docker/config.json )。

      注意

      如果没有看到此消息,您可以在后续步骤中手动生成 config.json 内容。

  5. 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 的用户名和密码

流程

  1. (可选)创建临时环境变量并存储以下值:

    REGISTRY_URL="<url to the nexus container registry>"
    AUTHFILE='auth.json'  # This file will be created in the next step.

    如果您选择不创建这些变量,请记得将代码示例中的变量替换为相关值。

  2. 使用 Podman 登录到 Nexus 容器 registry,并生成与 Docker 兼容的身份验证文件:

    podman login --authfile="${AUTHFILE}" "${REGISTRY_URL}"

    此命令登录 Nexus,创建一个 auth.json 文件,并将 Nexus 用户名和密码存储在其中。

  3. tssc 容器中,运行以下集成命令:

    tssc integration nexus \
      --url="${REGISTRY_URL}" \
      --dockerconfigjson="$(cat ${AUTHFILE})"
  4. 删除本地 auth.json 文件,因为它已不再需要。

    rm "${AUTHFILE}"

第 5 章 部署 RHADS - SSC

在完成所有需要的配置后,使用此流程安装 Red Hat Advanced Developer Suite - 软件供应链(RHADS - SSC)。

先决条件

  • tssc 容器正在运行。
  • 已使用 cluster-admin 访问权限登录到 OpenShift 集群。
  • 您已自定义 config.yaml 文件。

流程

  1. 在容器终端中,运行部署命令:

    bash-5.1$ tssc deploy
    注意

    如果部署了所有组件,则安装过程通常需要大约一小时才能完成。

  2. 监控命令输出。在部署过程中,CLI 会输出有用的信息,包括 URL 和访问部署组件的说明。您可以将输出保存到文件中,如 values.txt,以备将来参考。输出可能包括:

    1. Developer Hub (Backstage) URL
    2. ACS、Quay 和其他仪表板(如果已部署)
    3. 特定于组件的指导或状态信息
  3. 要访问 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。

流程

  1. 使用 RHADS - SSC 登录在同一集群中运行的 Quay 实例。
  2. 导航到 rhtap 组织。
  3. 选择 Applications > OAuth Applications > Create New Application > Generate Token
  4. 选中 View all visible repositories 选项的复选框。
  5. 单击 Generate Access Token
  6. 复制并保存访问令牌。
  7. 在终端中运行以下命令来更新 rhtap-quay-integration secret:

    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-env secret。

rhtap-dh 项目中的新的 backstage-developer-hub pod 启动并运行时,这些更改将生效。

验证

  • 进入 Red Hat Developer Hub UI 并重新载入 Image Registry 选项卡。现在,标签应该会列出存储在您的 Quay 存储库中的所有工件。
  • 另外,要验证所需的 secret 是否已成功更新,您可以显示 rhtap-quay-integrationdeveloper-hub-rhtap-env secret 的值:

    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

法律通告

Copyright © 2025 Red Hat, Inc.
The text of and illustrations in this document are licensed by Red Hat under a Creative Commons Attribution–Share Alike 3.0 Unported license ("CC-BY-SA"). An explanation of CC-BY-SA is available at http://creativecommons.org/licenses/by-sa/3.0/. In accordance with CC-BY-SA, if you distribute this document or an adaptation of it, you must provide the URL for the original version.
Red Hat, as the licensor of this document, waives the right to enforce, and agrees not to assert, Section 4d of CC-BY-SA to the fullest extent permitted by applicable law.
Red Hat, Red Hat Enterprise Linux, the Shadowman logo, the Red Hat logo, JBoss, OpenShift, Fedora, the Infinity logo, and RHCE are trademarks of Red Hat, Inc., registered in the United States and other countries.
Linux® is the registered trademark of Linus Torvalds in the United States and other countries.
Java® is a registered trademark of Oracle and/or its affiliates.
XFS® is a trademark of Silicon Graphics International Corp. or its subsidiaries in the United States and/or other countries.
MySQL® is a registered trademark of MySQL AB in the United States, the European Union and other countries.
Node.js® is an official trademark of Joyent. Red Hat is not formally related to or endorsed by the official Joyent Node.js open source or commercial project.
The OpenStack® Word Mark and OpenStack logo are either registered trademarks/service marks or trademarks/service marks of the OpenStack Foundation, in the United States and other countries and are used with the OpenStack Foundation's permission. We are not affiliated with, endorsed or sponsored by the OpenStack Foundation, or the OpenStack community.
All other trademarks are the property of their respective owners.
Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。 了解我们当前的更新.

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

Theme

© 2026 Red Hat
返回顶部