Repositori community-plugins
adalah tempat di mana anggota komunitas dapat meng-host sebuah plugin atau sekumpulan plugin. Tujuan dari plugin komunitas adalah untuk mengurangi jumlah permintaan tarik dan masalah dari backstage/backstage
, yang menjadi terlalu besar seiring berjalannya waktu.
Dengan membuat plugin komunitas, kami memberikan kepada pengelola plugin semua alat untuk mengelola dan mempublikasikan plugin mereka dengan mudah.
Plugin yang dibuat oleh komunitas Backstage yang lebih luas dipersilakan untuk dipublikasikan di repositori community-plugins
. Saat Anda menyumbangkan plugin ke repositori ini, Anda setuju untuk mengikuti pedoman khusus, termasuk proses rilis standar. Hal ini memungkinkan pemilik plugin untuk memanfaatkan proses yang sudah ada dan pengetahuan kolektif community-plugins
komunitas Backstage.
Bagi mereka yang mencari otonomi penuh atas pengembangan dan siklus rilis plugin mereka, hosting mandiri tetap menjadi pilihan yang didukung dan valid. Keputusan untuk berkontribusi pada repositori komunitas atau self-host akan bergantung pada apakah Anda lebih memilih untuk mengelola pengembangan plugin secara mandiri atau mengembangkan plugin sebagai bagian dari proses berbasis komunitas. Kedua pendekatan tersebut dihargai dalam ekosistem Backstage dan berkontribusi terhadap pertumbuhannya.
Plugin yang merupakan kunci fungsionalitas dan pengoperasian Backstage akan terus berada di repositori backstage/backstage
- memastikan komponen pusat yang mendukung platform dikelola dan dipelihara secara terpusat.
Untuk memulai membuat plugin baru, ikuti panduan di CONTRIBUTING.md.
Repositori community-plugins
dibentuk oleh sekumpulan ruang kerja. Ruang kerja menampung plugin atau sekumpulan plugin berdasarkan topik tertentu. Misalnya, katalog, kubernetes, dan TechDocs dapat disebut sebagai ruang kerja.
Setiap plugin termasuk dalam ruang kerja dan ruang kerja cukup portabel untuk dipindahkan ke repositori sendiri jika diinginkan. Setiap ruang kerja plugin memiliki rangkaian perubahan dan rilis terisolasinya sendiri.
Plugin bergantung pada plugin lain melalui dependensi npm reguler, terlepas dari apakah plugin lainnya adalah plugin inti, plugin lain dalam repositori, atau plugin eksternal.
Meskipun repositori komunitas secara teknis bukan ruang kerja benang", ia berfungsi sebagai repositori dengan beberapa ruang kerja benang, dengan masing-masing ruang kerja memiliki direktori .changesets
yang unik.
Setiap kali set perubahan baru diperkenalkan, PR "Paket versi ($workspace_name)" baru akan dihasilkan. Menggabungkan paket Versi PR akan memicu pelepasan semua plugin di ruang kerja (asalkan perubahan telah ditambahkan), dan juga memperbarui file CHANGELOG
.
backstage/backstage
Sejumlah plugin yang semula berada di backstage/backstage
monorepo telah dipindahkan ke repositori backstage/community-plugins
ini.
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
Migrasi plugin dari monorepo backstage/backstage
ke repositori community-plugins
diotomatisasi di bawah alat community-cli
.
Anda memberinya jalur ke monorepo
yang harus dikloning secara lokal, dan ID plugin. Ini kemudian akan membuat ruang kerja baru di repositori community-plugins
dengan semua plugin dan modul yang mengelilingi ruang kerja tersebut. Misalnya, jika saya menggunakan plugin todo
sebagai ID, plugin tersebut akan secara otomatis berpindah ke @backstage/plugin-todo
serta @backstage/plugin-todo-backend
dan -common
, -node
atau -modules
lainnya yang terkait.
Setelah kode disalin, cakupan npm dan semua referensi kode diperbarui untuk mencerminkan cakupan baru @backstage-community/plugin-*
, dan set perubahan dibuat untuk paket yang akan dipublikasikan. Versinya tetap sama untuk saat ini, namun perubahan yang dihasilkan akan menerbitkan versi berikutnya, jadi jika paket yang dirilis pada 1.25.0
adalah 0.10.0
maka versi barunya adalah @backstage-community/plugin-todo
0.10.1
.
Ada komit yang dibuat di monorepo
pada cabang tertentu sebagai --branch
atau pada cabang baru yang dibuat untuk migrasi. Dalam komit ini ada penghentian dan perubahan agar paket ini keluar, jadi 0.10.1
di @backstage/plugin-todo
akan ditandai sebagai tidak digunakan lagi dan diganti dengan @backstage-community/plugin-todo
sebagai versi yang sama.