以前、GoReleaserを使ってのGoのアプリケーションを配布するというタイトルの記事でGoReleaserを使ったバイナリ配布の方法について書いたが、Dockerhubへのイメージプッシュもやってみたのでまとめておく。
ソースコードの全体像はbmf-san/gondolaを参照。
.goreleaser.yamlを設定
ちょっと長たらしいが、こんな感じでdockersのオプションを書く。
長らしくなっているのは、builds(バイナリ作成)の方のオプションと同じように成果物を作成するように調整しているためである。(もうちょっとまとめて書いたりできるのかもしれないが・・)
goreleaserのデフォルト値は以下を参照。
cf. github.com/goreleaser/goreleaser/blob/main/.goreleaser.yaml
Dockerfileの作成
COPYしているバイナリは、goreleaserがバイナリを生成してくれるので、自分でビルドする必要はない。
Github Actionsのworkflowを編集
DockerhubへのイメージプッシュがしたいのでDockerhubへログインするように調整。
secretsはGithubのリポジトリの設定から事前に設定しておく。
と、こんな感じで簡単に設定できる! GoReleaser便利・・!!