Zum Inhalt springen

Plugin-Beispiele

Offizielle Plugins werden in der Organisation SemRels veröffentlicht.

github

ProviderPlugin für GitHub. Erstellt Releases, lädt Assets hoch und ruft die Commit-Historie über die GitHub-REST-API ab.

conventional-commits

CommitAnalyzerPlugin, das der Spezifikation Conventional Commits folgt, um den Versions-Bump zu bestimmen.

markdown-changelog

ChangelogGeneratorPlugin, das Release Notes als Markdown-Abschnitt CHANGELOG.md rendert.

go-mod-updater

FilesUpdaterPlugin, das die nächste Version über mit ldflags kompatible Versionsvariablen in Go-Quelldateien schreibt.

packager-nfpm

PackagerPlugin, das Linux-Pakete (deb, rpm, apk) mit nfpm baut.

publisher-oci

PublisherPlugin, das Artefakte mit oras push in OCI-Registries hochlädt.

publisher-generic-http

PublisherPlugin, das Artefakte zu benutzerdefinierten HTTP-Endpunkten hochlädt.

plugins:
- uses: @semrel/updater-go
args:
file: internal/version/version.go
var_name: Version
- uses: @semrel/packager-nfpm
args:
config: packaging/nfpm.yaml
target: dist/packages
packagers: deb,rpm,apk
- uses: @semrel/publisher-oci
args:
ref: ghcr.io/semrels/myapp:{version}
artifacts: dist/packages/myapp_amd64.deb,dist/packages/myapp_amd64.rpm
plugins:
- uses: @semrel/updater-docker
args:
file: Dockerfile
arg_name: VERSION
- uses: @semrel/publisher-generic-http
args:
url: https://uploads.example.com/releases/{version}/{artifact}
method: PUT
token: ${UPLOAD_TOKEN}
artifacts: dist/images/myapp-oci.tar
plugins:
- uses: @semrel/updater-helm
args:
file: charts/myapp/Chart.yaml
update_app_version: "true"
- uses: @semrel/publisher-oci
args:
ref: ghcr.io/semrels/charts/myapp:{version}
artifacts: dist/charts/myapp-{version}.tgz

Von der Community beigesteuerte Plugins werden im semrel registry aufgeführt, sobald es live ist. Wenn dein Plugin dort gelistet werden soll, öffne ein Issue oder einen PR im Haupt-Repository.