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
640
Merpay SRE Teamが目指すもの
foostan
0
53
キーボードは好きですか? / Do you like keyboards?
foostan
21
19k
AWSのマネージドサービスを活かした Kubernetes 運用とAmazon EKS によるクラスタのシングルテナント戦略について
foostan
3
2k
kube-aws から EKS に移行した話
foostan
5
1.5k
freeeのクラウドサービス活用術とパフォーマンス改善活動のご紹介
foostan
0
11k
グリーで行われている勉強会とその特徴 ✕ 勉強会を主催してみた話
foostan
0
210
Consulにコントリビュートした話
foostan
4
1.3k
Other Decks in Programming
See All in Programming
いりゃあせ、PHPカンファレンス名古屋2025 / Welcome to PHP Conference Nagoya 2025
ttskch
1
150
歴史と現在から考えるスケーラブルなソフトウェア開発のプラクティス
i10416
0
300
テストコード書いてみませんか?
onopon
2
330
見えないメモリを観測する: PHP 8.4 `pg_result_memory_size()` とSQL結果のメモリ管理
kentaroutakeda
0
930
Асинхронность неизбежна: как мы проектировали сервис уведомлений
lamodatech
0
1.3k
サーバーゆる勉強会 DBMS の仕組み編
kj455
1
300
VisionProで部屋の明るさを反映させるシェーダーを作った話
segur
0
100
Alba: Why, How and What's So Interesting
okuramasafumi
0
200
Запуск 1С:УХ в крупном энтерпрайзе: мечта и реальность ПМа
lamodatech
0
940
Fixstars高速化コンテスト2024準優勝解法
eijirou
0
190
AWSのLambdaで PHPを動かす選択肢
rinchoku
2
390
Beyond ORM
77web
11
1.6k
Featured
See All Featured
Typedesign – Prime Four
hannesfritz
40
2.5k
Speed Design
sergeychernyshev
25
730
Code Review Best Practice
trishagee
65
17k
Embracing the Ebb and Flow
colly
84
4.5k
Done Done
chrislema
182
16k
What's in a price? How to price your products and services
michaelherold
244
12k
Automating Front-end Workflow
addyosmani
1366
200k
RailsConf 2023
tenderlove
29
970
4 Signs Your Business is Dying
shpigford
182
22k
GitHub's CSS Performance
jonrohan
1030
460k
The MySQL Ecosystem @ GitHub 2015
samlambert
250
12k
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
132
33k
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プラグインを呼び出すなど、サービス固有の命令はできない • ぐらい…?
おためしあれ