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.4k
Digdag で CI ジョブを定義する
foostan
October 18, 2016
Tweet
Share
More Decks by foostan
See All by foostan
Crafting the Endgame Keyboard
foostan
1
680
Merpay SRE Teamが目指すもの
foostan
0
65
キーボードは好きですか? / Do you like keyboards?
foostan
21
19k
AWSのマネージドサービスを活かした Kubernetes 運用とAmazon EKS によるクラスタのシングルテナント戦略について
foostan
3
2.1k
kube-aws から EKS に移行した話
foostan
5
1.5k
freeeのクラウドサービス活用術とパフォーマンス改善活動のご紹介
foostan
0
11k
グリーで行われている勉強会とその特徴 ✕ 勉強会を主催してみた話
foostan
0
220
Consulにコントリビュートした話
foostan
4
1.3k
Other Decks in Programming
See All in Programming
一緒に働きたくなるプログラマの思想 #QiitaConference
mu_zaru
78
20k
The Missing Link in Angular’s Signal Story: Resource API and httpResource
manfredsteyer
PRO
0
140
状態と共に暮らす:ステートフルへの挑戦
ypresto
3
1.1k
Deoptimization: How YJIT Speeds Up Ruby by Slowing Down / RubyKaigi 2025
k0kubun
1
1.9k
20250426 GDGoC 合同新歓 - GDGoC のススメ
getty708
0
100
インプロセスQAにおいて大事にしていること / In-process QA Meetup
medley
0
140
ComposeでWebアプリを作る技術
tbsten
0
130
オープンソースコントリビュート入門
_katsuma
0
120
AI時代の開発者評価について
ayumuu
0
230
今話題のMCPサーバーをFastAPIでサッと作ってみた
yuukis
0
110
Instrumentsを使用した アプリのパフォーマンス向上方法
hinakko
0
230
設計の本質:コード、システム、そして組織へ / The Essence of Design: To Code, Systems, and Organizations
nrslib
10
3.7k
Featured
See All Featured
Building an army of robots
kneath
305
45k
Adopting Sorbet at Scale
ufuk
76
9.3k
Improving Core Web Vitals using Speculation Rules API
sergeychernyshev
13
820
KATA
mclloyd
29
14k
How to Ace a Technical Interview
jacobian
276
23k
VelocityConf: Rendering Performance Case Studies
addyosmani
329
24k
Facilitating Awesome Meetings
lara
54
6.3k
Why You Should Never Use an ORM
jnunemaker
PRO
56
9.3k
The MySQL Ecosystem @ GitHub 2015
samlambert
251
12k
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
41
2.3k
Bootstrapping a Software Product
garrettdimon
PRO
307
110k
Measuring & Analyzing Core Web Vitals
bluesmoon
7
410
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プラグインを呼び出すなど、サービス固有の命令はできない • ぐらい…?
おためしあれ