Jenkinsで運⽤業務の改善をしてみて
気づいたこと
In Jenkins ユーザ・カンファレンス 2018
⽩⼦ 佳孝
リクルートライフスタイル
データマネジメントG
⼿作業の運⽤業務が負荷に...
いわゆるトイル(Toil)が⼤量にあった。
〜例〜
テーブル連携の設定をRDSに登録・確認
yamlファイルを⼿動で作成、GHEへ反映、リリース作業
バッチジョブの設定や状態確認のため、JP1/AJSの管理画⾯を操作
⽋損したデータの遡及作業
などなど
⼿作業の運⽤業務が負荷に...
いわゆるトイル(Toil)が⼤量にあった。
〜例〜
テーブル連携の設定をRDSに登録・確認
yamlファイルを⼿動で作成、GHEへ反映、リリース作業
バッチジョブの設定や状態確認のため、JP1/AJSの管理画⾯を操作
⽋損したデータの遡及作業
などなど
Jenkinsで(半)⾃動化することで、トイルの削減に成功
• RDSに直接作業せず、Jenkinsから作業
• パラメータ付きビルドによって、作業が簡単に
• ⽇次でRDSの情報を収集し、Jenkins上で設定内容を確認可能
• 設定Yamlファイルを(半)⾃動⽣成
• featureブランチ作成、yaml⽣成、⾃動PushがJenkinsから可能に
• ⽇次で本番にリポジトリをPushするため、作業不要に
• ajsコマンドをJenkinsから実⾏
• JP1ジョブの作成がGUIを触らずに可能
• ジョブの設定内容が簡単に確認できる
• 問題箇所は⾊を変更することで⼀⽬でわかるように
Jenkinsで(半)⾃動化することで、トイルの削減に成功
例)パラメータ付きビルドによって、作業が簡単に
Jenkinsで(半)⾃動化することで、トイルの削減に成功
例)⽇次でRDSの情報を収集し、Jenkins上で設定内容を確認可能
Jenkinsで(半)⾃動化することで、トイルの削減に成功
例)設定Yamlファイルを(半)⾃動⽣成
Jenkinsで(半)⾃動化することで、トイルの削減に成功
例)設定Yamlファイルを(半)⾃動⽣成
Jenkinsで(半)⾃動化することで、トイルの削減に成功
例)ジョブの設定内容が簡単に確認できる
付加価値として
• 作業ログが残る
• 新規参画者すぐに運⽤業務をこなせるようになる
• ⼿順書が単純に(実⾏確認がJenkinsで同時に可能)
なんかいい感じに運⽤の改善・⾃動化が進んできた!!
ただ、ちょっとずつほころびが。。。
徐々に問題が露⾒してくる...
• ⾃動化したことで実際どんな作業を⾏なっているかが不透明に
• Jenkinsのジョブに問題があった時に、作った⼈しかメンテができない
状態に(タスクをそのまま⾃動化させるため、作りが複雑)
• ⼀つ⼀つの作業をJenlkinsで⾃動化したが、業務フローの中でいくつ
ものジョブを組み合わせて使う必要がある
気づいたこと
• 運⽤業務改善のために、Jenkinsで業務の⾃動化を⾏なっていたが、⾃
動化⾃体が⽬的となってしまっていた。
• タスクの改善にはなったが、業務⾃体の改善とは⾔い難い状態になっ
ていた。
• ただ、ある程度⾃動化ができてしまったため、皆満⾜してしまってい
る。
サマリー
サマリー
• Jenkinsによる処理実装が簡単であるがゆえ、⽬の前のタスクをそのま
ま⾃動的な処理に移し替えるだけになってしまっていた。
• 最初はいいけど、本質的に改善には⾄らず
• ⾃動化すること⾃体が⽬的になってしまっていた
• ⾃動化を進める前に、業務⾃体を⾒直す必要があった。
• やるやら判断
• 業務フローの⾒直し
• Value Stream Mappingなどを利⽤し業務プロセス改善
⾃動化を⽬的にしちゃダメ!絶対!
JCF2018_Jenkinsで運用業務の改善をしてみて気づいたこと

JCF2018_Jenkinsで運用業務の改善をしてみて気づいたこと