3.2. 在 Red Hat Developer Hub 中为目录添加源控制


要在 Red Hat Developer Hub 中填充目录,您需要添加软件模板,并添加模板,您必须启用源控制,如 GitHub、GitLab 或 BitBucket。

3.2.1. 设置 GitHub 集成和身份验证

在 Red Hat Developer Hub 中启用 GitHub 插件需要 GitHub 集成和身份验证。

先决条件

  • 您有一个 GitHub 帐户。
  • 在 Red Hat OpenShift 中有一个帐户

流程

  1. 在 OpenShift 中,单击 ConfigMap
  2. 修改 app-config-rhdh 文件,使其包含 GitHub 配置,如下所示:

    kind: ConfigMap
    apiVersion: v1
    metadata:
      name: app-config-rhdh
    data:
      app-config-rhdh.yaml: |
        app:
          title: Red Hat Developer Hub
        integrations:
          github:
            - host: github.com
              apps:
                - appId: ${GITHUB_APP_APP_ID}
                  clientId: ${GITHUB_APP_CLIENT_ID}
                  clientSecret: ${GITHUB_APP_CLIENT_SECRET}
                  webhookUrl: ${GITHUB_APP_WEBHOOK_URL}
                  webhookSecret: ${GITHUB_APP_WEBHOOK_SECRET}
                  privateKey: |
                    ${GITHUB_APP_PRIVATE_KEY}
        auth:
          # see https://backstage.io/docs/auth/ to learn about auth providers
          environment: development
          providers:
            github:
              development:
                clientId: ${GITHUB_APP_CLIENT_ID}
                clientSecret: ${GITHUB_APP_CLIENT_SECRET}
  3. 点击 Save
  4. 按照以下步骤,使用环境变量作为之前代码片段中的键或值 Secret 文件,创建名为 rhdh-secrets 的 Secret 文件:

    1. 在 Red Hat OpenShift 中,进入 Secrets 选项卡,再点 Create
    2. 输入 Secret name 作为 rhdh-secrets
    3. 将环境变量添加为 KeyValue,再单击 Create
  5. 要使用 GitHub 应用程序登录,请确保 GitHub 应用程序中的 Callback URL 配置为如下:

    https://developer-hub-<NAMESPACE_NAME>.<OPENSHIFT_ROUTE_HOST>/api/auth/github/handler/frame

    在之前的 Callback URL 示例中,OPENSHIFT_ROUTE_HOST 是添加到 Root Schema global clusterRouteBase 字段中的 API URL。

    以下是 Callback URL 的示例:

    回调 url 示例
    注意

    要在 Developer Hub 的 Overview 页面上访问 GitHub 安全 insights 小部件,请确保您的 GitHub 应用程序具有只读 Dependabot Alerts 权限。

  6. 进入 Helm 选项卡并选择 Upgrade
  7. Root Schema Backstage Chart Schema Backstage Parameters Backstage container 环境变量 下,添加 rhdh-secrets 作为值。
  8. 单击 Upgrade

3.2.2. 在 Red Hat Developer Hub 中启用 GitHub 发现

您可以为 Developer Hub 中的组件启用 GitHub 发现功能,如包含 catalog-info.yaml 文件的任何存储库。

先决条件

流程

  1. 在 Red Hat Openshift 中,进入 Helm 选项卡并升级 Developer Hub 发行版本。
  2. global Dynamic plugins configuration 在 backstage 应用程序中安装的动态插件列表下。→ 要安装的动态插件的 Package 规格。它应该可以被 npm pack 命令使用。 添加以下值:

    ./dynamic-plugins/dist/backstage-plugin-catalog-backend-module-github-dynamic

    启用 gh discovery
  3. 单击 Upgrade
  4. 在 ConfigMap 中添加以下代码:

    kind: ConfigMap
    apiVersion: v1
    metadata:
      name: app-config-rhdh
    data:
      app-config-rhdh.yaml: |
        ...
          catalog:
            providers:
              github:
                providerId:
                  organization: '${GITHUB_ORG}'
                  schedule:
                    frequency:
                      minutes: 30
                    initialDelay:
                      seconds: 15
                    timeout:
                      minutes: 3
        ...

    在前面的代码中,将 ${GITHUB_ORG} 替换为您要发现组件的 GitHub 组织。另外,如果只有一个供应商,可以在 ConfigMap 中添加以下代码:

    kind: ConfigMap
    apiVersion: v1
    metadata:
      name: app-config-rhdh
    data:
      app-config-rhdh.yaml: |
        ...
        catalog:
          providers:
            github:
              organization: ${GITHUB_ORG}
              schedule:
                frequency: { minutes: 1 }
                timeout: { minutes: 1 }
                initialDelay: { seconds: 100 }
        ...

    当存在列表时,需要前面的代码中的 providerId 来识别提供程序。

  5. 点击 Save

您还可以为 GitHub 组织的成员启用 GitHub 发现功能。

先决条件

流程

  1. 在 Red Hat Openshift 中,进入 Helm 选项卡并升级 Developer Hub 发行版本。
  2. global Dynamic plugins configuration 在 backstage 应用程序中安装的动态插件列表下。→ 要安装的动态插件的 Package 规格。它应该可以被 npm pack 命令使用。 添加以下值:

    ./dynamic-plugins/dist/backstage-plugin-catalog-backend-module-github-org-dynamic

    启用 gh 成员发现
  3. 单击 Upgrade
  4. 在 ConfigMap 中添加以下代码:

    kind: ConfigMap
    apiVersion: v1
    metadata:
      name: app-config-rhdh
    data:
      app-config-rhdh.yaml: |
        ...
        catalog:
          providers:
            githubOrg:
              default:
                id: production
                orgUrl: '${GITHUB_ORG_URL}'
        ...

    在前面的代码中,将 ${GITHUB_ORG_URL} 替换为您要从中模拟用户的 GitHub 组织。

  5. 点击 Save
Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

關於紅帽

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

让开源更具包容性

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

关于红帽文档

Legal Notice

Theme

© 2026 Red Hat
返回顶部