This documentation is for a release that is no longer maintained
See documentation for the latest supported version.第 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 中定义变量。
流程
- 在 OpenShift Container Platform Web 控制台中选择 ConfigMaps 选项卡。
- 点 Create ConfigMap。
在 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 }
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 Copied! - 点 Create。
- 进入 Topology 视图。
点您要使用的 Red Hat Developer Hub 实例的溢出菜单,然后选择 Edit Backstage 以加载 Red Hat Developer Hub 实例的 YAML 视图。
将
dynamicPluginsConfigMapName
字段添加到Backstage
CR。例如:apiVersion: rhdh.redhat.com/v1alpha3 kind: Backstage metadata: name: my-rhdh spec: application: # ... dynamicPluginsConfigMapName: dynamic-plugins-rhdh # ...
apiVersion: rhdh.redhat.com/v1alpha3 kind: Backstage metadata: name: my-rhdh spec: application: # ... dynamicPluginsConfigMapName: dynamic-plugins-rhdh # ...
Copy to Clipboard Copied! - 点击 Save。
- 返回到 Topology 视图并等待 Red Hat Developer Hub pod 启动。
- 点 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" }, ]
[ { "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 Copied!