第 1 章 在 Red Hat Developer Hub 中安装动态插件


动态插件支持基于 backend 插件管理器软件包,它是一个在 app-config.yaml 文件中扫描配置的根目录(dynamicPlugins.rootDirectory )的服务,并动态加载它们。

您可以使用预安装 Red Hat Developer Hub 的动态插件,或者从公共 NPM registry 安装外部动态插件。

1.1. 使用 Red Hat Developer Hub Operator 安装动态插件

您可以将动态插件的配置存储在 Backstage 自定义资源(CR)可引用的 ConfigMap 对象中。

注意

如果 pluginConfig 字段引用环境变量,则必须在 < my_product_secrets > secret 中定义变量。

流程

  1. 在 OpenShift Container Platform Web 控制台中选择 ConfigMaps 选项卡。
  2. Create ConfigMap
  3. Create ConfigMap 页面中,选择 Configure via 中的 YAML view 选项,并根据需要编辑该文件。

    使用 GitHub 动态插件的 ConfigMap 对象示例

    kind: ConfigMap
    apiVersion: v1
    metadata:
      name: dynamic-plugins-rhdh
    data:
      dynamic-plugins.yaml: |
        includes:
          - dynamic-plugins.default.yaml
        plugins:
          - package: './dynamic-plugins/dist/backstage-plugin-catalog-backend-module-github-dynamic'
            disabled: false
            pluginConfig:
              catalog:
                providers:
                  github:
                    organization: "${GITHUB_ORG}"
                    schedule:
                      frequency: { minutes: 1 }
                      timeout: { minutes: 1 }
                      initialDelay: { seconds: 100 }
    Copy to Clipboard

  4. Create
  5. 进入 Topology 视图。
  6. 点您要使用的 Red Hat Developer Hub 实例的溢出菜单,然后选择 Edit Backstage 以加载 Red Hat Developer Hub 实例的 YAML 视图。

    Operator 安装 2
  7. dynamicPluginsConfigMapName 字段添加到 Backstage CR。例如:

    apiVersion: rhdh.redhat.com/v1alpha3
    kind: Backstage
    metadata:
      name: my-rhdh
    spec:
      application:
    # ...
        dynamicPluginsConfigMapName: dynamic-plugins-rhdh
    # ...
    Copy to Clipboard
  8. 点击 Save
  9. 返回到 Topology 视图并等待 Red Hat Developer Hub pod 启动。
  10. Open URL 图标以使用 Red Hat Developer Hub 平台以及新的配置更改。

验证

  • 通过在 Red Hat Developer Hub root URL 中附加 /api/dynamic-plugins-info/loaded-plugins 并检查插件列表来确保动态插件配置已被加载:

    插件列表示例

    [
      {
        "name": "backstage-plugin-catalog-backend-module-github-dynamic",
        "version": "0.5.2",
        "platform": "node",
        "role": "backend-plugin-module"
      },
      {
        "name": "backstage-plugin-techdocs",
        "version": "1.10.0",
        "role": "frontend-plugin",
        "platform": "web"
      },
      {
        "name": "backstage-plugin-techdocs-backend-dynamic",
        "version": "1.9.5",
        "platform": "node",
        "role": "backend-plugin"
      },
    ]
    Copy to Clipboard

返回顶部
Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

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

让开源更具包容性

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

關於紅帽

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

Theme

© 2025 Red Hat