GitHub Actions Meetup Osaka #1 に参加してきました!

11/26にサイボウズ株式会社大阪オフィスで開催されたGitHub Actions Meetup Osaka #1 に参加してきました!

#1 となっていますが実際には #0 があり第2回目の開催となります。 #0 も参加予定だったのですが、ダブルブッキングとなってしまいキャンセルせざるを得ない状況でしたので、今回は念願の参加となりました😆

主催者の方がインフルエンザということで予定変更となり、LTを2つとなりましたが、GitHub Actionsを全く触っていない身としては非常に有用な情報を得ることができました。

LT1人目

@takakd_en さん
GitHub Actions + Cloudflare API

- AWS re:Invent 2019自腹参加(すごい😮)
- pushのたびに手動でCDNキャッシュクリアを行っていた
- GitHub Actionsを使ってCloudflare APIを叩きpull_request毎にキャッシュクリアを行うようにした
- GitHubのsecretsに機微な情報を格納する
- GitHubにあるのでサービス集約ができる(稟議不要!)
- 設定が容易
- on: [pull_request] はPRに対しコメントやレビューでも動いてしまう

やっぱりCDNを導入するときは変更したい時には変更できるようにしておかなければならないんだなと再確認しました。
恐らくClourFrontの場合はAWS SDKを使って操作することになるんでしょうね。

LT2人目

@znz さん
workflow, job, step の使い分けの基準を考える

- Rubyコミッター!!!!
- workflowは1 yamlファイル
- jobはworkflowの中で記述するランナー
- stepはjobの中のプログラム
- トリガーが違うならworkflowを分割する
- 実行環境が違うときはjobの分割をする
- usesを使うとき、ログ分けるとき、通知などでstepを分割する
- WindowsはcmdからPowerShellに切り替わった
- コミットメッセージに含まれる文言でjobを実行しないということが可能
- Webhookをトリガーに起動できる
- actions/upload-artifactで成果物などを保存することができる
- actions/cacheでキャッシュ対応できる
- actions/labelerでPRに自動ラベル付与できる
- on: [push]はマージ時も動く

その場でRubyリポジトリで実際に動いているworkflowを解説があり、GitHub Actionsについて理解を深めることができました。
実際に使われているworkflowのYAMLファイルも様々なリポジトリの中に公開されているので、ドキュメントだけでなく、どう使っているかなどを参考にできるオープンな情報ということを認識できました。

振り返り

何人かのグループで振り返りを行う時間がありました。そこでまた実際にGitHub Actionsをどのように使っているかを聞いたり、少し脱線してフロントエンド事情やTypeScriptについて聞いたり、どういったサービスをどのように開発しているかなんて話たりしていました。

GitHub Actionsはそのうち触ってみたいと思ってはいたのですが、実際にはなかなか試せず、またどういった事ができるのかが理解できていませんでした。なのでこのイベントでこういう事ができる、こういう形でできると実際の使用例に即した情報を得ることで自分でもまずは小さいところからやってみようと思えました。

また来年に#2があるとのことなので次回までに何か試して万全の状態で参加できるようにします!!!

😉