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
Digdag で CI ジョブを定義する
Search
foostan
October 18, 2016
Programming
1
1.5k
Digdag で CI ジョブを定義する
foostan
October 18, 2016
Tweet
Share
More Decks by foostan
See All by foostan
SRE視点で振り返るメルカリのアーキテクチャ変遷と普遍的な考え
foostan
2
8k
Crafting the Endgame Keyboard
foostan
1
750
Merpay SRE Teamが目指すもの
foostan
0
110
キーボードは好きですか? / Do you like keyboards?
foostan
21
20k
AWSのマネージドサービスを活かした Kubernetes 運用とAmazon EKS によるクラスタのシングルテナント戦略について
foostan
3
2.1k
kube-aws から EKS に移行した話
foostan
5
1.6k
freeeのクラウドサービス活用術とパフォーマンス改善活動のご紹介
foostan
0
12k
グリーで行われている勉強会とその特徴 ✕ 勉強会を主催してみた話
foostan
0
250
Consulにコントリビュートした話
foostan
4
1.3k
Other Decks in Programming
See All in Programming
CSC307 Lecture 01
javiergs
PRO
0
690
Unicodeどうしてる? PHPから見たUnicode対応と他言語での対応についてのお伺い
youkidearitai
PRO
1
2.6k
CSC307 Lecture 09
javiergs
PRO
1
840
フロントエンド開発の勘所 -複数事業を経験して見えた判断軸の違い-
heimusu
7
2.8k
Lambda のコードストレージ容量に気をつけましょう
tattwan718
0
140
プロダクトオーナーから見たSOC2 _SOC2ゆるミートアップ#2
kekekenta
0
220
「ブロックテーマでは再現できない」は本当か?
inc2734
0
1k
15年続くIoTサービスのSREエンジニアが挑む分散トレーシング導入
melonps
2
220
Claude Codeと2つの巻き戻し戦略 / Two Rewind Strategies with Claude Code
fruitriin
0
140
Honoを使ったリモートMCPサーバでAIツールとの連携を加速させる!
tosuri13
1
180
CSC307 Lecture 06
javiergs
PRO
0
690
CSC307 Lecture 02
javiergs
PRO
1
780
Featured
See All Featured
How to train your dragon (web standard)
notwaldorf
97
6.5k
What’s in a name? Adding method to the madness
productmarketing
PRO
24
3.9k
Future Trends and Review - Lecture 12 - Web Technologies (1019888BNR)
signer
PRO
0
3.2k
How to Grow Your eCommerce with AI & Automation
katarinadahlin
PRO
1
110
Why You Should Never Use an ORM
jnunemaker
PRO
61
9.7k
How to build an LLM SEO readiness audit: a practical framework
nmsamuel
1
650
Efficient Content Optimization with Google Search Console & Apps Script
katarinadahlin
PRO
1
330
Rails Girls Zürich Keynote
gr2m
96
14k
We Are The Robots
honzajavorek
0
170
The Anti-SEO Checklist Checklist. Pubcon Cyber Week
ryanjones
0
69
Practical Tips for Bootstrapping Information Extraction Pipelines
honnibal
25
1.7k
Reality Check: Gamification 10 Years Later
codingconduct
0
2k
Transcript
Digdag で CI ジョブを定義する 五反田.rb#10(テスト(rspec/minitest)について)
None
本日お話すること • Jenkins + Digdag で 脱Jenkinsおじさん • CI のジョブを
Digdag で定義するメリットとデメリット
@foostan Kosuke Adachi
スモールビジネスに携わる方が より創造的な活動にフォーカスできるように
スモールビジネスに携わる方が より創造的な活動にフォーカスできるように
Jenkins おじさん • Jenkinsは自由度が高くてジョブの編集も簡単 • でも気づいたらカオスな状態になってきて管理す る人が必要になる • ジョブを編集したいと思ったらその人に許可取っ てWeb上から直接ジョブを書き換えると…
つらい
脱 Jenkins おじさん ① ジョブを Git で管理 • Jenkinsの手軽さをあえてなくす •
GitHubでレビューしてもらう体制を整える • 問題が起きたときに原因を特定できるようにする、戻せるよう にする ↓ カオスなジョブになりにくい環境が整う
脱 Jenkins おじさん ② ジョブを Digdag で定義する • Digdag: ◦
Treasure Data のプロダクト ◦ シェルスクリプト、Phyton、Ruby でタスクを定義して、 yaml(正しくはyamlを拡張したもの)で定義したフローで実 行するもの
None
テスト準備
jsファイルの更新があれ ばフロントエンドのテスト を実行
rbファイルの更新があ ればバックエンドのテス トを実行
テスト準備
rubocop実行
rspec実行
CI のジョブを Digdag で定義するメリット • Gitで管理できる (GitHubを利用してレビューする体制が整う) • ローカルで気軽に実行できる •
SaaSとの相性も良いためサービスの選択肢が広がる ◦ a • yamlよりも表現力が高い(フローを定義できる) machine: timezone: Asia/Tokyo ruby: version: 2.3 test: override: - digdag run test.dig
CI のジョブを Digdag で定義するデメリット • Jenkinsプラグインを呼び出すなど、サービス固有の命令はできない • ぐらい…?
おためしあれ