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
作為相同版本。