GitHub Actionsでcron式が書けるみたいですよ
はじめに
NE株式会社の山本です!
GitHub Actionsでcron式が書けます。
結論これだけですw
「そんなの知ってるよ!」って方は弊社の活用事例を見ていってください。
まわりの後輩に聞いてみると意外と知らない方もいたので、この記事をキッカケに覚えて使ってみてください!
よくやるGitHub Actionsのトリガー
- プルリクエストができあがった時をトリガーとするもの(ユニットテストとか)
on: pull_request
- mainにpushされた時をトリガーとするもの(デプロイとか)
on:
push:
branches:
- main
GitHub Actionsで使うのってこういうのが一般的かなと思います。
cron式
このトリガーの部分にcron式を書くことで定期実行が可能になります!
便利ですね!
on:
schedule:
- cron: "0 0 * * *"
これは毎日0時0分(UTC)に実行するという設定です。
弊社での活用事例
じゃあこれってどういう時に使うの?っていうのを弊社事例で紹介します。
今週のKibela
弊社は社内ナレッジシェアツールにKibelaを使っています。
毎週どんなKibelaが投稿されたか
イイネ上位記事はどんなものか
をまとめて教えてくれるような使い方をしています。
毎週月曜の朝9時に投稿される設定。
on:
schedule:
# 00:00 UTC = 09:00 JST
- cron: "0 0 * * MON"
プルリクエストの集計とBigQuery連携
毎日「前日にマージされたプルリクエスト」をBigQueryに集計しています。
生産性の可視化として利用しています。
まとめ
わざわざサーバ立てるのもなーと思って手元のローカルマシンでcron実行しているものとかないですか?
それで有給の日とかにPCシャットダウンしてて、その日だけ連携されてないとかないですか?
僕はよくありましたw
そういったものはGitHub Actionsにcron式で仕込んでおくとだいぶ日々の連携が楽になると思います!
大体のケースでしたら無料枠でおさまると思います。
こういう要件の時ってAWS Lambdaが選択肢にあがりがちで、個人的にはGitHub Actionsの方が楽かなーという印象でした。
もちろん良し悪しがあると思いますので選択肢の1つとして覚えておくのがいいと思います。
是非活用してみてくださいね!
NE株式会社のエンジニアを中心に更新していくPublicationです。 NEでは、「コマースに熱狂を。」をパーパスに掲げ、ECやその周辺領域の事業に取り組んでいます。 Homepage: ne-inc.jp/
Discussion