退屈なことはバッチにやらせよう
by
mako_makok
Link
Embed
Share
Beginning
This slide
Copy link URL
Copy link URL
Copy iframe embed code
Copy iframe embed code
Copy javascript embed code
Copy javascript embed code
Share
Tweet
Share
Tweet
Slide 1
Slide 1 text
退屈なことは バッチにやらせよう ~ Github Actions編 @mako_makok 2021/02/24 生産性向上 Tips LT会
Slide 2
Slide 2 text
自己紹介 ● 名前: 小林允(@mako_makok) ● 所属: 株式会社ラクス ● 楽楽勤怠のバックエンドエンジニア ● たまにフロントエンドもやる ● Spring Boot/Java/Kotlin/TypeScript/React
Slide 3
Slide 3 text
生産性を上げるためには ● 生産性を上げるためにはやらなくていいことはやらないようにする ● ルーチンは自動化しよう ○ 毎日の天気を調べる、新刊の情報を収集する、etc... ● 自動化といえばバッチ
Slide 4
Slide 4 text
どのscheduler使うか問題 ● Rundeck ● 各種CI ○ Github Actions ○ Circle CI ○ Jenkins ● cron ● heroku scheduler ● FaaS ○ Lambda ○ Cloud Functions and more...
Slide 5
Slide 5 text
どのscheduler使うか問題 ● サーバー立てるのはカロリーが高すぎる ● できればサーバレスでやりたい
Slide 6
Slide 6 text
どのscheduler使うか問題 ● Rundeck ● 各種CI ○ Github Actions ○ Circle CI ○ Jenkins ● cron ● heroku scheduler ● FaaS ○ Lambda ○ Cloud Functions and more...
Slide 7
Slide 7 text
どのscheduler使うか問題 heroku scheduler
Slide 8
Slide 8 text
どのscheduler使うか問題 ● Rundeck ● 各種CI ○ Github Actions ○ Circle CI ○ Jenkins ● cron ● heroku scheduler ● FaaS ○ Lambda ○ Cloud Functions and more...
Slide 9
Slide 9 text
どのscheduler使うか問題 ● 定期実行するだけならGithub Actions と Circle CIどっちでもいい ○ よりお手軽なGithub Actions ● Lambda と Cloud Functions ○ FirestoreなどのNoSQLを利用できるので永続化層が必要そうな バッチもかける ○ CIツールよりも豊富なトリガー
Slide 10
Slide 10 text
天気を通知する ● ユーザー数1(自分) ● 天気を取得するAPIを叩く ● それを整形してSlackに通知 ● 2API叩くだけなのであんまり複雑なことしなくてもできそう ● Github Actions を利用する
Slide 11
Slide 11 text
Github Actionsの利用手順 ● Repositoryに.github/workflows/*.ymlを配置するだけ
Slide 12
Slide 12 text
Github Actionsの利用手順 ● Repositoryに.github/workflows/*.ymlを配置するだけ 毎日9時に実行
Slide 13
Slide 13 text
Github Actionsの利用手順 ● Repositoryに.github/workflows/*.ymlを配置するだけ 見えちゃダメそう なやつはsecret に
Slide 14
Slide 14 text
Github Actionsの利用手順 webpack && node dist/main.js
Slide 15
Slide 15 text
Github Actionsのメリット ● リポジトリで管理できる ● cronを実行するだけだったらあまり難しい設定はいらない ● 好きな言語でかける ● サーバー管理がいらない ● ちょっとしたスクリプトを定期実行したいケースに向いてる ● もちろんCI, CDにも https://github.com/mako-makok/weather-notificator
Slide 16
Slide 16 text
まとめ ● ちょっとしたバッチなどはCIツール使うと便利 ● 複雑なことしたくなったらFaaSを検討してみてもいいかも