GoReleaser
https://goreleaser.com/
GoReleaserとは
Go言語で作られたアプリケーションのリリース作業を自動化するツール
クロスプラットフォーム対応
複数OSへのビルドや複数アーキテクチャ(amd64, arm64)対応
Github Actionsとの連携が容易
チェックサムや署名によるセキュリティを担保できる
導入
goreleaserのインストール
brew install --cask goreleaser/tap/goreleaser
goreleaser initを実行して、.goreleaser.ymlを作成
必要に応じて以下の内容の設定を追記
ビルド設定
https://goreleaser.com/customization/builds/
アーカイブファイルの設定
https://goreleaser.com/customization/archive/
セキュリティ設定
改ざん防止の為にチェックサムの作成
https://goreleaser.com/customization/checksum/
リリースノート作成
https://goreleaser.com/customization/release/
変更ログの作成
https://goreleaser.com/customization/changelog/
コマンド
ローカルテスト
code:bash
# スナップショット版をビルド(GitHubにリリースしない)
goreleaser build --snapshot --clean
本番リリース
code:bash
# 正式リリース(GitHubにリリースページ作成)
goreleaser release --clean
# リリース前の最終チェック
goreleaser check
デバッグ
code:bash
# 詳細ログ出力
goreleaser release --debug
# ドライラン(何も実行しない)
goreleaser release --skip-publish --skip-sign
Github Actionへの組み込み
https://goreleaser.com/ci/actions/
#Go