GitHub Actions でクロス・コンパイル(GoReleaser 編)

以前(3年前だ!)に Travis CI と GoReleaser でクロス・コンパイル&デプロイを行う方法を紹介したが,今回は GitHub Actions を使う方法を紹介する。 なお GoReleaser 自体の説明については(だいぶ内容が古いが)以下の記事を参考にどうぞ。

紹介と言っても公式の GitHub Action があるので,それを使えばよい。

リポジトリの .github/workflows/ ディレクトリに YAML ファイル(例えば build.yml)を置き,以下のように記述する。

name: build

on:
  push:
    tags:
      - v*
jobs:
  goreleaser:
    runs-on: ubuntu-latest
    steps:
      - name: Checkout
        uses: actions/checkout@v2
        with:
          fetch-depth: 0
      - name: Set up Go
        uses: actions/setup-go@v2
        with:
          go-version: 1.15
      - name: Run GoReleaser
        uses: goreleaser/goreleaser-action@v2
        with:
          version: latest
          args: release --rm-dist
        env:
          GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}

これでバージョンタグを打った際に GoReleaser によるクロス・コンパイルとデプロイが走る。 簡単!

ブックマーク

参考図書

photo
プログラミング言語Go (ADDISON-WESLEY PROFESSIONAL COMPUTING SERIES)
Alan A.A. Donovan (著), Brian W. Kernighan (著), 柴田 芳樹 (翻訳)
丸善出版 2016-06-20
単行本(ソフトカバー)
4621300253 (ASIN), 9784621300251 (EAN), 4621300253 (ISBN), 9784621300251 (ISBN)
評価     

著者のひとりは(あの「バイブル」とも呼ばれる)通称 “K&R” の K のほうである。この本は Go 言語の教科書と言ってもいいだろう。

reviewed by Spiegel on 2016-07-13 (powered by PA-APIv5)