Link
Embed
Share
Beginning
This slide
Copy link URL
Copy link URL
Copy iframe embed code
Copy iframe embed code
Copy javascript embed code
Copy javascript embed code
Share
Tweet
Share
Tweet
Slide 1
Slide 1 text
Digdag で CI ジョブを定義する 五反田.rb#10(テスト(rspec/minitest)について)
Slide 2
Slide 2 text
No content
Slide 3
Slide 3 text
本日お話すること ● Jenkins + Digdag で 脱Jenkinsおじさん ● CI のジョブを Digdag で定義するメリットとデメリット
Slide 4
Slide 4 text
@foostan Kosuke Adachi
Slide 5
Slide 5 text
スモールビジネスに携わる方が より創造的な活動にフォーカスできるように
Slide 6
Slide 6 text
スモールビジネスに携わる方が より創造的な活動にフォーカスできるように
Slide 7
Slide 7 text
Jenkins おじさん ● Jenkinsは自由度が高くてジョブの編集も簡単 ● でも気づいたらカオスな状態になってきて管理す る人が必要になる ● ジョブを編集したいと思ったらその人に許可取っ てWeb上から直接ジョブを書き換えると… つらい
Slide 8
Slide 8 text
脱 Jenkins おじさん ① ジョブを Git で管理 ● Jenkinsの手軽さをあえてなくす ● GitHubでレビューしてもらう体制を整える ● 問題が起きたときに原因を特定できるようにする、戻せるよう にする ↓ カオスなジョブになりにくい環境が整う
Slide 9
Slide 9 text
脱 Jenkins おじさん ② ジョブを Digdag で定義する ● Digdag: ○ Treasure Data のプロダクト ○ シェルスクリプト、Phyton、Ruby でタスクを定義して、 yaml(正しくはyamlを拡張したもの)で定義したフローで実 行するもの
Slide 10
Slide 10 text
No content
Slide 11
Slide 11 text
テスト準備
Slide 12
Slide 12 text
jsファイルの更新があれ ばフロントエンドのテスト を実行
Slide 13
Slide 13 text
rbファイルの更新があ ればバックエンドのテス トを実行
Slide 14
Slide 14 text
テスト準備
Slide 15
Slide 15 text
rubocop実行
Slide 16
Slide 16 text
rspec実行
Slide 17
Slide 17 text
CI のジョブを Digdag で定義するメリット ● Gitで管理できる (GitHubを利用してレビューする体制が整う) ● ローカルで気軽に実行できる ● SaaSとの相性も良いためサービスの選択肢が広がる ○ a ● yamlよりも表現力が高い(フローを定義できる) machine: timezone: Asia/Tokyo ruby: version: 2.3 test: override: - digdag run test.dig
Slide 18
Slide 18 text
CI のジョブを Digdag で定義するデメリット ● Jenkinsプラグインを呼び出すなど、サービス固有の命令はできない ● ぐらい…?
Slide 19
Slide 19 text
おためしあれ