community-plugins
저장소는 커뮤니티 구성원이 플러그인 또는 플러그인 세트를 호스팅할 수 있는 장소입니다. 커뮤니티 플러그인의 목표는 시간이 지남에 따라 너무 커지는 backstage/backstage
의 풀 요청 및 문제의 양을 줄이는 것입니다.
커뮤니티 플러그인을 생성함으로써 우리는 플러그인 관리자에게 플러그인을 쉽게 관리하고 게시할 수 있는 모든 도구를 제공합니다.
광범위한 Backstage 커뮤니티에서 만든 플러그인을 community-plugins
저장소에 게시할 수 있습니다. 이 저장소에 플러그인을 제공하면 표준화된 릴리스 프로세스를 포함한 특정 지침을 따르는 데 동의하는 것입니다. 이를 통해 플러그인 소유자는 Backstage community-plugins
커뮤니티의 확립된 프로세스와 집단적 지식을 활용할 수 있습니다.
플러그인 개발 및 릴리스 수명 주기에 대한 완전한 자율성을 원하는 경우 자체 호스팅은 여전히 지원되고 유효한 옵션입니다. 커뮤니티 저장소에 기여할지 아니면 자체 호스트에 기여할지 결정하는 것은 플러그인 개발을 독립적으로 관리할지 아니면 커뮤니티 중심 프로세스의 일부로 플러그인을 개발할지 여부에 따라 달라집니다. 두 접근 방식 모두 Backstage 생태계 내에서 가치가 있으며 성장에 기여합니다.
Backstage의 기능과 운영에 핵심이 되는 플러그인은 계속해서 backstage/backstage
저장소에 상주하여 플랫폼을 뒷받침하는 중앙 구성 요소가 중앙에서 관리되고 유지되도록 보장합니다.
새 플러그인 생성을 시작하려면 CONTRIBUTING.md의 지침을 따르세요.
community-plugins
저장소는 작업공간 세트로 구성됩니다. 작업공간에는 특정 주제를 기반으로 하는 플러그인 또는 플러그인 세트가 있습니다. 예를 들어 카탈로그, kubernetes 및 TechDocs를 작업공간이라고 할 수 있습니다.
각 플러그인은 작업 공간에 속하며 작업 공간은 원하는 경우 자체 저장소로 이동할 수 있을 만큼 이식성이 뛰어납니다. 각 플러그인 작업공간에는 자체 변경 세트와 격리된 릴리스가 있습니다.
플러그인은 다른 플러그인이 핵심 플러그인인지, 저장소 내의 다른 플러그인인지, 외부 플러그인인지에 관계없이 일반 npm 종속성을 통해 다른 플러그인에 의존합니다.
커뮤니티 저장소는 기술적으로 원사 작업 공간은 아니지만 각 작업 공간이 고유한 .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
로 대체됩니다.