技術書典8が中止になったので、興味ある本は買っていこうと思い買った本のうちの一つ。この前読みながら写経してたので記録に残す。
どんな本か
GitHub Actions ができること、yamlファイルの記載方法、GitHub Actionsから実行できるアクションの作成方法、公開方法についてがコンパクトに纏められている。
あまり、CIに触れてきていなかったので、マトリックステストの項目ではそんなことできるの〜と感心してしまった。また、GitHub Actionsを公開できることで、CIに必要な機能をサクッと拾ってこれるのもとても便利だと感じた。
GitHub Actions で感心したこと、メモ
仮想環境内に入っているツール、言語類がまとまっている記載
- virtual-environments/Ubuntu1804-README.md at master · actions/virtual-environments · GitHub
ワークフローのトリガーとなるイベント
- ワークフローをトリガーするイベント - GitHub ヘルプ に記載があって、たくさんあることがわかる。
on.[event].branches
を指定すれば 特定ブランチでの変更を検出できる。
秘匿情報
リポジトリのSettings Secrets から設定し、 secrets.FOO
の形で参照できる。Actionsの実行ログはちゃんと ***
でマスクされる。
組み合わせテスト
storategy を設定することによって、複数の環境での組み合わせテストも簡単に実行できる。便利。
成果物
actions/upload-artifact というActionsを使うと、CIを実行中に生成した成果物をGitHub上にアップロードできる。ダウンロードも同様にActionsが提供されている。setup-ruby もそうなんだけど、 https://github.com/actions/ の一覧を見れば大体のことはできそう。
ymlの書き方から、実際に手を動かして自動テストをCIで実現するまでを体験できるので、GitHub Actions からCIを触る人にもおすすめ。