Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
退屈なことはバッチにやらせよう
Search
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
mako_makok
February 24, 2021
Programming
1
630
退屈なことはバッチにやらせよう
mako_makok
February 24, 2021
Tweet
Share
More Decks by mako_makok
See All by mako_makok
Kotlinにおける型の世界と エラーハンドリング / Type World and Error Handling in Kotlin
makomakok
3
1.2k
Javaでも使えるKotlin OSSを目指すためのkotlin.jvmの利用とインターフェース設計/Use of kotlin.jvm and interface design for Kotlin OSS that can also be used in Java
makomakok
0
920
Slack_API_Wrapper_BoltでBotを爆速開発.pdf
makomakok
0
350
Firebase + BoltではじめるSlackアプリ開発
makomakok
0
15k
Other Decks in Programming
See All in Programming
ベクトル検索のフィルタを用いた機械学習モデルとの統合 / python-meetup-fukuoka-06-vector-attr
monochromegane
2
340
PostgreSQL を使った快適な go test 環境を求めて
otakakot
0
450
CSC307 Lecture 15
javiergs
PRO
0
220
DSPy入門 Pythonで実現する自動プロンプト最適化 〜人手によるプロンプト調整からの卒業〜
seaturt1e
1
590
TROCCOで実現するkintone+BigQueryによるオペレーション改善
ssxota
0
140
Go 1.26でのsliceのメモリアロケーション最適化 / Go 1.26 リリースパーティ #go126party
mazrean
1
360
PJのドキュメントを全部Git管理にしたら、一番喜んだのはAIだった
nanaism
0
240
The Past, Present, and Future of Enterprise Java
ivargrimstad
0
290
2026年は Rust 置き換えが流行る! / 20260220-niigata-5min-tech
girigiribauer
0
220
米国のサイバーセキュリティタイムラインと見る Goの暗号パッケージの進化
tomtwinkle
2
460
どんと来い、データベース信頼性エンジニアリング / Introduction to DBRE
nnaka2992
1
230
朝日新聞のデジタル版を支えるGoバックエンド ー価値ある情報をいち早く確実にお届けするために
junkiishida
1
390
Featured
See All Featured
Site-Speed That Sticks
csswizardry
13
1.1k
More Than Pixels: Becoming A User Experience Designer
marktimemedia
3
340
Collaborative Software Design: How to facilitate domain modelling decisions
baasie
0
150
Facilitating Awesome Meetings
lara
57
6.8k
Digital Ethics as a Driver of Design Innovation
axbom
PRO
1
210
Building a Modern Day E-commerce SEO Strategy
aleyda
45
8.8k
We Have a Design System, Now What?
morganepeng
55
8k
Navigating Algorithm Shifts & AI Overviews - #SMXNext
aleyda
1
1.2k
SEO Brein meetup: CTRL+C is not how to scale international SEO
lindahogenes
0
2.4k
The Anti-SEO Checklist Checklist. Pubcon Cyber Week
ryanjones
0
88
The Cult of Friendly URLs
andyhume
79
6.8k
Building Better People: How to give real-time feedback that sticks.
wjessup
370
20k
Transcript
退屈なことは バッチにやらせよう ~ Github Actions編 @mako_makok 2021/02/24 生産性向上 Tips LT会
自己紹介 • 名前: 小林允(@mako_makok) • 所属: 株式会社ラクス • 楽楽勤怠のバックエンドエンジニア •
たまにフロントエンドもやる • Spring Boot/Java/Kotlin/TypeScript/React
生産性を上げるためには • 生産性を上げるためにはやらなくていいことはやらないようにする • ルーチンは自動化しよう ◦ 毎日の天気を調べる、新刊の情報を収集する、etc... • 自動化といえばバッチ
どのscheduler使うか問題 • Rundeck • 各種CI ◦ Github Actions ◦ Circle
CI ◦ Jenkins • cron • heroku scheduler • FaaS ◦ Lambda ◦ Cloud Functions and more...
どのscheduler使うか問題 • サーバー立てるのはカロリーが高すぎる • できればサーバレスでやりたい
どのscheduler使うか問題 • Rundeck • 各種CI ◦ Github Actions ◦ Circle
CI ◦ Jenkins • cron • heroku scheduler • FaaS ◦ Lambda ◦ Cloud Functions and more...
どのscheduler使うか問題 heroku scheduler
どのscheduler使うか問題 • Rundeck • 各種CI ◦ Github Actions ◦ Circle
CI ◦ Jenkins • cron • heroku scheduler • FaaS ◦ Lambda ◦ Cloud Functions and more...
どのscheduler使うか問題 • 定期実行するだけならGithub Actions と Circle CIどっちでもいい ◦ よりお手軽なGithub Actions
• Lambda と Cloud Functions ◦ FirestoreなどのNoSQLを利用できるので永続化層が必要そうな バッチもかける ◦ CIツールよりも豊富なトリガー
天気を通知する • ユーザー数1(自分) • 天気を取得するAPIを叩く • それを整形してSlackに通知 • 2API叩くだけなのであんまり複雑なことしなくてもできそう •
Github Actions を利用する
Github Actionsの利用手順 • Repositoryに.github/workflows/*.ymlを配置するだけ
Github Actionsの利用手順 • Repositoryに.github/workflows/*.ymlを配置するだけ 毎日9時に実行
Github Actionsの利用手順 • Repositoryに.github/workflows/*.ymlを配置するだけ 見えちゃダメそう なやつはsecret に
Github Actionsの利用手順 webpack && node dist/main.js
Github Actionsのメリット • リポジトリで管理できる • cronを実行するだけだったらあまり難しい設定はいらない • 好きな言語でかける • サーバー管理がいらない
• ちょっとしたスクリプトを定期実行したいケースに向いてる • もちろんCI, CDにも https://github.com/mako-makok/weather-notificator
まとめ • ちょっとしたバッチなどはCIツール使うと便利 • 複雑なことしたくなったらFaaSを検討してみてもいいかも