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 中有一个帐户
流程
- 在 OpenShift 中,单击 ConfigMap。
修改
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}- 点击 Save。
按照以下步骤,使用环境变量作为之前代码片段中的键或值 Secret 文件,创建名为
rhdh-secrets的 Secret 文件:- 在 Red Hat OpenShift 中,进入 Secrets 选项卡,再点 Create。
-
输入 Secret name 作为
rhdh-secrets。 - 将环境变量添加为 Key 和 Value,再单击 Create。
要使用 GitHub 应用程序登录,请确保 GitHub 应用程序中的 Callback URL 配置为如下:
https://developer-hub-<NAMESPACE_NAME>.<OPENSHIFT_ROUTE_HOST>/api/auth/github/handler/frame在之前的 Callback URL 示例中,
OPENSHIFT_ROUTE_HOST是添加到 Root Schemaglobal clusterRouteBase 字段中的 API URL。 以下是 Callback URL 的示例:
注意要在 Developer Hub 的 Overview 页面上访问 GitHub 安全 insights 小部件,请确保您的 GitHub 应用程序具有只读 Dependabot Alerts 权限。
- 进入 Helm 选项卡并选择 Upgrade。
-
在 Root Schema
Backstage Chart Schema Backstage Parameters Backstage container 环境变量 下,添加 rhdh-secrets作为值。 - 单击 Upgrade。
3.2.2. 在 Red Hat Developer Hub 中启用 GitHub 发现 复制链接链接已复制到粘贴板!
您可以为 Developer Hub 中的组件启用 GitHub 发现功能,如包含 catalog-info.yaml 文件的任何存储库。
先决条件
- 您已设置 GitHub 集成。如需更多信息,请参阅 第 3.2.1 节 “设置 GitHub 集成和身份验证”。
流程
- 在 Red Hat Openshift 中,进入 Helm 选项卡并升级 Developer Hub 发行版本。
在 global
Dynamic plugins configuration 在 backstage 应用程序中安装的动态插件列表下。→ 要安装的动态插件的 Package 规格。它应该可以被 npm pack命令使用。 添加以下值:./dynamic-plugins/dist/backstage-plugin-catalog-backend-module-github-dynamic
- 单击 Upgrade。
在 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来识别提供程序。- 点击 Save。
3.2.3. 在 Red Hat Developer Hub 中启用 GitHub 机构成员发现 复制链接链接已复制到粘贴板!
您还可以为 GitHub 组织的成员启用 GitHub 发现功能。
先决条件
- 您已设置 GitHub 集成。如需更多信息,请参阅 第 3.2.1 节 “设置 GitHub 集成和身份验证”。
流程
- 在 Red Hat Openshift 中,进入 Helm 选项卡并升级 Developer Hub 发行版本。
在 global
Dynamic plugins configuration 在 backstage 应用程序中安装的动态插件列表下。→ 要安装的动态插件的 Package 规格。它应该可以被 npm pack命令使用。 添加以下值:./dynamic-plugins/dist/backstage-plugin-catalog-backend-module-github-org-dynamic
- 单击 Upgrade。
在 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 组织。- 点击 Save。