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.2k
Digdag で CI ジョブを定義する
foostan
October 18, 2016
Tweet
Share
More Decks by foostan
See All by foostan
Crafting the Endgame Keyboard
foostan
1
560
Merpay SRE Teamが目指すもの
foostan
0
36
キーボードは好きですか? / Do you like keyboards?
foostan
21
18k
AWSのマネージドサービスを活かした Kubernetes 運用とAmazon EKS によるクラスタのシングルテナント戦略について
foostan
3
1.8k
kube-aws から EKS に移行した話
foostan
5
1.4k
freeeのクラウドサービス活用術とパフォーマンス改善活動のご紹介
foostan
0
11k
グリーで行われている勉強会とその特徴 ✕ 勉強会を主催してみた話
foostan
0
130
Consulにコントリビュートした話
foostan
4
1.2k
Other Decks in Programming
See All in Programming
チームでモデリングを育てるうえで 考えたこと・気づいたこと / Cultivating Modeling in Teams: Thoughts and Insights
mackey0225
5
2.4k
Laravel OpenAPIによる"辛くない"スキーマ駆動開発
kentaroutakeda
2
2.1k
Deep Dive 大規模システムアーキテクチャ/開発組織エンジニアリング / Deep Dive Large-Scale System Architecture, Development Organization Engineering
nrslib
15
2.9k
自動テスト実行結果の目的を整理する / Organizing objectives of automated test results
twada
PRO
10
2.1k
Crafting a Own PHP - ウキウキ手作りミニマリストPHP
uzulla
4
1.1k
受託開発でGitLab CI を活用していく
xiombatsg
1
130
Open Source Swiftc Workshop
kitasuke
1
290
品質が高いコードって何?Rev2.1
ickx
1
490
両面どころかインフラもTSでできるよ ~ 全方位TypeScriptによるプロダクト開発 ~
myfinder
9
2.5k
DDDはなぜ難しいのか / 良いコードの定義と設計能力の壁
pospome
25
7.6k
複雑なドメインを扱うプロダクトの探索フェーズではいつどのようにテストをするのか / How to testing during exploratory phase
boykush
2
150
Why 1 + 1 = 2 in Swift?
1plus4
1
250
Featured
See All Featured
A Modern Web Designer's Workflow
chriscoyier
689
190k
Being A Developer After 40
akosma
56
580k
Web development in the modern age
philhawksworth
201
10k
YesSQL, Process and Tooling at Scale
rocio
160
13k
The Cult of Friendly URLs
andyhume
73
5.6k
How GitHub (no longer) Works
holman
301
140k
Thoughts on Productivity
jonyablonski
57
3.8k
The Pragmatic Product Professional
lauravandoore
24
5.7k
Adopting Sorbet at Scale
ufuk
66
8.5k
Large-scale JavaScript Application Architecture
addyosmani
501
110k
How to Create Impact in a Changing Tech Landscape [PerfNow 2023]
tammyeverts
12
1.4k
How STYLIGHT went responsive
nonsquared
92
4.7k
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プラグインを呼び出すなど、サービス固有の命令はできない • ぐらい…?
おためしあれ