GitHub CI/CD実践ガイド - 持続可能なソフトウェア開発を支えるGitHub Actionsの設計と運用を読んだ
Amazon.co.jp
https://amzn.to/49WMrtW
アプリのデプロイにチームで責任を持つようになったのでよくわかってなかった GitHub Actions を理解するために買いました。GitHub Actions を日頃触ることがある場合 2 章と 3 章と 5 章の 3 つだけでも読んでおいたほうが良いと思える内容でした。自分も知らなくてすぐに使えそうな内容が書かれていたのでいくつか紹介。
課金モデル
2 章と 5 章に言及がありますが、macOS は Linux の 10 倍、使用時間単位での請求だけど分単位のため数秒で終わる job を matrix で並列にやっていたりすると一気に料金がかかることがある。
一個のジョブで直列にやっても待ち時間にそんなに影響しないものとかは matrix をわざわざ使わないことも必要そうです。
シェルインジェクション
shell script いっぱいかくと思いますが、ブランチ名やラベルなど外の世界からやってくるコンテキスト情報が多数ありますのでそれらは全部インジェクションされえると思って書くのが良い。書籍内では中間環境変数の利用を毎回することを進めています。
冗長に感じることがあるけど脳死でやれるのでやったほうがよさそうなやつです。
ほかにも読むと参考になるところがあるので手元において必要なときに見直したいと思いました。