community-plugins
存储库是社区成员可以托管一个插件或一组插件的地方。社区插件的目标是减少来自backstage/backstage
拉取请求和问题的数量,随着时间的推移,这些请求和问题已经变得太大。
通过创建社区插件,我们为插件维护者提供了轻松管理和发布插件的所有工具。
欢迎更广泛的 Backstage 社区创建的插件在community-plugins
存储库中发布。当您向此存储库贡献插件时,您同意遵循特定的准则,包括标准化的发布流程。这使得插件所有者可以利用后台community-plugins
社区的既定流程和集体知识。
对于那些寻求插件开发和发布生命周期完全自主的人来说,自托管仍然是一个受支持且有效的选择。向社区存储库做出贡献还是自行托管的决定取决于您是喜欢独立管理插件的开发还是将插件开发为社区驱动流程的一部分。这两种方法在 Backstage 生态系统中都受到重视,并有助于其发展。
对于 Backstage 的功能和操作至关重要的插件将继续驻留在backstage/backstage
存储库中 - 确保支撑平台的中央组件得到集中管理和维护。
要开始创建新插件,请遵循 CONTRIBUTING.md 中的指导。
community-plugins
存储库由一组工作区组成。工作区包含一个或一组基于特定主题的插件。例如,catalog、kubernetes 和 TechDocs 可以称为工作区。
每个插件都属于一个工作区,并且工作区具有足够的可移植性,可以根据需要移动到自己的存储库。每个插件工作区都有自己的变更集和独立的版本。
插件通过常规 npm 依赖关系依赖于其他插件,无论其他插件是核心插件、存储库中的其他插件还是外部插件。
尽管社区存储库从技术上讲并不是一个纱线工作区”,但它充当具有多个纱线工作区的存储库,每个工作区都拥有其独特的.changesets
目录。
每当引入新的变更集时,都会生成新的“版本包 ($workspace_name)”PR。合并版本包 PR 将触发工作区中所有插件的发布(前提是已添加变更集),并更新CHANGELOG
文件。
backstage/backstage
迁移最初驻留在backstage/backstage
monorepo 中的许多插件已移至此后backstage/community-plugins
存储库。
adr
airbreak
allure
analytics
apache-airflow
apollo-explorer
azure-devops
azure-sites
badges
bazaar
bitrise
cicd-statistics
cloudbuild
code-climate
code-coverage
codescene
cost-insights
dynatrace
entity-feedback
entity-validation
example-todo-list
explore
firehydrant
fossa
gcalendar
gcp-projects
git-release-manager
github-actions
github-deployments
github-issues
github-pull-requests-board
gitops-profiles
gocd
graphiql
graphql-voyager
ilert
jenkins
kafka
lighthouse
microsoft-calendar
newrelic
newrelic-dashboard
octopus-deploy
opencost
periskop
playlist
puppetdb
rollbar
sentry
shortcuts
sonarqube
splunk
stack-overflow
stackstorm
tech-insights
tech-radar
todo
vault
xcmetrics
插件从backstage/backstage
monorepo 到community-plugins
存储库的迁移是在community-cli
工具下自动完成的。
您为它提供了应该在本地克隆的monorepo
的路径和插件 ID。然后,它将在community-plugins
存储库中创建一个新的工作区,其中包含该工作区周围的所有插件和模块。例如,如果我使用todo
插件作为 ID,它将自动移动@backstage/plugin-todo
以及@backstage/plugin-todo-backend
和任何其他相关的-common
、 -node
或-modules
。
复制代码后,npm 范围和所有代码引用都会更新以反映@backstage-community/plugin-*
的新范围,并为要发布的包创建变更集。目前版本保持不变,但生成的变更集将发布下一个版本,因此如果1.25.0
发布的软件包是0.10.0
,那么新版本将是@backstage-community/plugin-todo
0.10.1
。
在monorepo
中的指定分支(作为--branch
或在为迁移创建的新分支上创建了一个提交。在这次提交中,有一个弃用和一个变更集,以便该包退出,因此@backstage/plugin-todo
中的0.10.1
将被标记为已弃用,并替换为@backstage-community/plugin-todo
作为相同版本。