community-plugins
リポジトリは、コミュニティのメンバーがプラグインまたはプラグインのセットをホストできる場所です。コミュニティ プラグインの目標は、時間の経過とともに大きくなりすぎたbackstage/backstage
からのプル リクエストと問題の量を減らすことです。
コミュニティ プラグインを作成することで、プラグインの管理者に、プラグインを簡単に管理および公開するためのすべてのツールを提供します。
より広範な Backstage コミュニティによって作成されたプラグインは、 community-plugins
リポジトリで公開することができます。このリポジトリにプラグインを寄稿すると、標準化されたリリース プロセスを含む特定のガイドラインに従うことに同意したことになります。これにより、プラグイン所有者は確立されたプロセスと Backstage community-plugins
コミュニティの集合的な知識を活用できるようになります。
プラグインの開発およびリリースのライフサイクル全体にわたって完全な自律性を求める人にとって、セルフホスティングは引き続きサポートされ、有効なオプションです。コミュニティ リポジトリに貢献するか自己ホストするかは、プラグインの開発を独立して管理するか、コミュニティ主導のプロセスの一部としてプラグインを開発するかによって決まります。どちらのアプローチも Backstage エコシステム内で評価されており、その成長に貢献しています。
Backstage の機能と操作の鍵となるプラグインは引き続きbackstage/backstage
リポジトリに常駐し、プラットフォームを支える中心的なコンポーネントが集中的に管理および維持されるようにします。
新しいプラグインの作成を開始するには、CONTRIBUTING.md のガイダンスに従ってください。
community-plugins
リポジトリは、一連のワークスペースによって形成されます。ワークスペースには、特定のトピックに基づいたプラグインまたはプラグインのセットが保持されます。たとえば、カタログ、kubernetes、TechDocs はワークスペースと呼ばれます。
各プラグインはワークスペースに属しており、ワークスペースは移植性が高いため、必要に応じて独自のリポジトリに移動できます。各プラグイン ワークスペースには、独自の変更セットと独立したリリースがあります。
プラグインは、他のプラグインがコア プラグイン、リポジトリ内の他のプラグイン、または外部プラグインであるかどうかに関係なく、通常の npm 依存関係を介して他のプラグインに依存します。
コミュニティ リポジトリは技術的には Yarn ワークスペースではありませんが、複数の Yarn ワークスペースを持つリポジトリとして機能し、各ワークスペースは独自の.changesets
ディレクトリを持ちます。
新しい変更セットが導入されるたびに、新しい「バージョン パッケージ ($workspace_name)」PR が生成されます。バージョン パッケージ PR をマージすると、ワークスペース内のすべてのプラグインのリリースがトリガーされ (変更セットが追加されている場合)、 CHANGELOG
ファイルも更新されます。
backstage/backstage
から移行されたプラグイン元々 backstage/backstage
モノリポジトリに存在していた多くのプラグインは、この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
リポジトリからcommunity-plugins
リポジトリへのプラグインの移行は、 community-cli
ツールで自動化されました。
ローカルに複製する必要があるmonorepo
へのパスとプラグイン ID を指定します。次に、そのワークスペースを囲むすべてのプラグインとモジュールを含む新しいワークスペースがcommunity-plugins
リポジトリに作成されます。たとえば、 todo
プラグインを ID として使用すると、 @backstage/plugin-todo
だけでなく、 @backstage/plugin-todo-backend
および関連するその他の-common
、 -node
、または-modules
も自動的に移動します。
コードがコピーされると、 @backstage-community/plugin-*
の新しいスコープを反映するように npm スコープとすべてのコード参照が更新され、公開するパッケージの変更セットが作成されます。現時点ではバージョンは同じに保たれますが、結果の変更セットは次のバージョンも公開するため、 1.25.0
でリリースされたパッケージが0.10.0
だった場合、新しいバージョンは@backstage-community/plugin-todo
0.10.1
になります。 。
--branch
として指定されたブランチ、または移行用に作成された新しいブランチ上のmonorepo
にコミットが作成されます。このコミットには非推奨とこのパッケージの変更セットが含まれているため、 @backstage/plugin-todo
の0.10.1
非推奨としてマークされ、同じバージョンとして@backstage-community/plugin-todo
に置き換えられます。