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
mako_makok
February 24, 2021
Programming
1
570
退屈なことはバッチにやらせよう
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
970
Javaでも使えるKotlin OSSを目指すためのkotlin.jvmの利用とインターフェース設計/Use of kotlin.jvm and interface design for Kotlin OSS that can also be used in Java
makomakok
0
810
Slack_API_Wrapper_BoltでBotを爆速開発.pdf
makomakok
0
310
Firebase + BoltではじめるSlackアプリ開発
makomakok
0
14k
Other Decks in Programming
See All in Programming
実践Webフロントパフォーマンスチューニング
cp20
45
10k
LRパーサーはいいぞ
ydah
7
1.4k
Road to Ruby for A Linguistics Nerd
hayat01sh1da
PRO
0
330
Rubyの!メソッドをちゃんと理解する
alstrocrack
1
320
「MCPを使ってる人」が より詳しくなるための解説
yamaguchidesu
0
230
状態と共に暮らす:ステートフルへの挑戦
ypresto
3
1.3k
インプロセスQAにおいて大事にしていること / In-process QA Meetup
medley
0
170
Global Azure 2025 @ Kansai / Hyperlight
kosmosebi
0
160
エンジニア向けCursor勉強会 @ SmartHR
yukisnow1823
3
13k
The Missing Link in Angular’s Signal Story: Resource API and httpResource
manfredsteyer
PRO
0
150
KANNA Android の技術的課題と取り組み
watabee
1
560
eBPF超入門「o11yに使える」とは (20250424_eBPF_o11y)
thousanda
1
120
Featured
See All Featured
Java REST API Framework Comparison - PWX 2021
mraible
31
8.6k
Testing 201, or: Great Expectations
jmmastey
42
7.5k
Product Roadmaps are Hard
iamctodd
PRO
53
11k
Optimising Largest Contentful Paint
csswizardry
37
3.2k
The Straight Up "How To Draw Better" Workshop
denniskardys
233
140k
Keith and Marios Guide to Fast Websites
keithpitt
411
22k
The Language of Interfaces
destraynor
158
25k
Faster Mobile Websites
deanohume
307
31k
Exploring the Power of Turbo Streams & Action Cable | RailsConf2023
kevinliebholz
32
5.6k
Performance Is Good for Brains [We Love Speed 2024]
tammyeverts
10
800
Six Lessons from altMBA
skipperchong
28
3.8k
Fontdeck: Realign not Redesign
paulrobertlloyd
84
5.5k
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を検討してみてもいいかも