Von GoReleaser zu semrel
Diese Anleitung ist für Teams gedacht, die von .goreleaser.yaml auf semrel wechseln.
Mapping auf einen Blick
Abschnitt betitelt „Mapping auf einen Blick“| GoReleaser Bereich | semrel Ansatz |
|---|---|
| Versions-/Changelog-Berechnung aus Commits | Analyzer + Generator-Plugins |
| Build-Matrix und Archive | CI-Build-Jobs (go build, Archivierung) |
| nfpm Pakete | @semrel/nfpm |
| Registry/Endpoint Publishing | @semrel/oci / @semrel/generic-http |
Empfohlenes Rollout
Abschnitt betitelt „Empfohlenes Rollout“- Build-Matrix in CI beibehalten und alle Artefakte nach
dist/schreiben. - semrel für Version/Changelog ergänzen und im Dry-Run validieren.
- Paketierung bei Bedarf von GoReleaser auf
@semrel/nfpmumstellen. - Publish-Ziele schrittweise auf semrel-Publisher migrieren.
- GoReleaser-Orchestrierung entfernen, sobald Parität erreicht ist.
Beispiel-Plugin-Kette
Abschnitt betitelt „Beispiel-Plugin-Kette“plugins: - uses: @semrel/github
- uses: @semrel/conventional
- uses: @semrel/changelog-md args: file: CHANGELOG.md
- uses: @semrel/nfpm args: config: packaging/nfpm.yaml target: dist/packages packagers: deb,rpm,apk
- uses: @semrel/oci args: ref: ghcr.io/your-org/myapp:{version} artifacts: dist/myapp-linux-amd64,dist/myapp-linux-arm64Risiken und Checks
Abschnitt betitelt „Risiken und Checks“- Artefaktpfade in Publisher-Plugins müssen exakt zu CI-Outputs passen.
- Checksums/Signierung in CI beibehalten oder vor Publish als eigenen Schritt ergänzen.
- Für einen kompletten Release-Kandidaten 1:1 Artefakt-Parität prüfen.