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
480
退屈なことはバッチにやらせよう
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
610
Javaでも使えるKotlin OSSを目指すためのkotlin.jvmの利用とインターフェース設計/Use of kotlin.jvm and interface design for Kotlin OSS that can also be used in Java
makomakok
0
600
Slack_API_Wrapper_BoltでBotを爆速開発.pdf
makomakok
0
260
Firebase + BoltではじめるSlackアプリ開発
makomakok
0
14k
Other Decks in Programming
See All in Programming
try! Swift Tokyo 初参加報告LT
hinakko2
0
220
[技育CAMPアカデミア]アイディアを形に!【超入門】スマホアプリ開発〜リリースまでの流れをご紹介
teamlab
PRO
0
360
スキーマ駆動開発による品質とスピードの両立 - 私達は何故、スキーマを書くのか
kentaroutakeda
0
170
Goのエラースタックトレースの歴史と今後
sonatard
7
1.2k
二郎系ラーメンのコールで学ぶ AST 解析
memory1994
PRO
7
1.7k
R言語の環境構築と基礎 Tokyo.R 112
bob3bob3
0
260
PHP8.3の機能を振り返る / Review of PHP 8.3 features
seike460
PRO
1
110
Rubyでたのしむクリエイティブコーディング/Enjoy Creative coding with Ruby
chobishiba
1
180
Semantic search with Django and pgvector
pauloxnet
0
240
VS Code をプロダクトにどう取り込むか
onomax
1
360
Komplexe Oberflächen mit SVG und der Web Animation API
joergneumann
0
670
What We Can Learn From OSS
inouehi
0
420
Featured
See All Featured
Creatively Recalculating Your Daily Design Routine
revolveconf
210
11k
The Invisible Side of Design
smashingmag
294
49k
Dealing with People You Can't Stand - Big Design 2015
cassininazir
357
22k
RailsConf 2023
tenderlove
4
540
GraphQLとの向き合い方2022年版
quramy
32
12k
Optimising Largest Contentful Paint
csswizardry
8
2.4k
Rebuilding a faster, lazier Slack
samanthasiow
73
8.2k
The Cult of Friendly URLs
andyhume
74
5.7k
Unsuck your backbone
ammeep
663
57k
Happy Clients
brianwarren
92
6.4k
Design by the Numbers
sachag
274
18k
Scaling GitHub
holman
457
140k
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を検討してみてもいいかも