GoReleaser
GoReleaserとは
Go言語で作られたアプリケーションのリリース作業を自動化するツール
クロスプラットフォーム対応
複数OSへのビルドや複数アーキテクチャ(amd64, arm64)対応
Github Actionsとの連携が容易
チェックサムや署名によるセキュリティを担保できる
導入
goreleaserのインストール
brew install --cask goreleaser/tap/goreleaser
goreleaser initを実行して、.goreleaser.ymlを作成
必要に応じて以下の内容の設定を追記
ビルド設定
アーカイブファイルの設定
セキュリティ設定
改ざん防止の為にチェックサムの作成
リリースノート作成
変更ログの作成
コマンド
ローカルテスト
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への組み込み