SHOEISHA iD

※旧SEメンバーシップ会員の方は、同じ登録情報(メールアドレス&パスワード)でログインいただけます

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

【デブサミ2021】セッションレポート(AD)

CI/CDに取り組むソフトウェア開発者に求められる「勇気」とは?【デブサミ2021】

【18-B-5】勇気が出るCI/CD!開発者は何を見る、何を知る、そして何をする?

  • X ポスト
  • このエントリーをはてなブックマークに追加

 CI/CD(継続的インテグレーション・継続的デリバリー)の重要性やメリットは認識しているが、なかなか導入にこぎつけられない。CI/CDツールを導入したものの、思うような成果を上げられない……その要因はどこにあるのか。CircleCI マーケティング部 Developer Advocateの舟木将彦氏は、CI/CDに取り組むうえで想定される課題や自動化を成功させるポイント、開発者が目指すべき姿などを、「勇気」をキーワードに解説。エクストリームプログラミングやスクラムの価値観でも重視されている勇気が、CI/CDにおいてはどのような場面で、何に対して求められるのか説明した。

  • X ポスト
  • このエントリーをはてなブックマークに追加

CircleCI合同会社 マーケティング部 Developer Advocate CircleCIユーザコミュニティ 舟木将彦氏
CircleCI合同会社 マーケティング部 Developer Advocate CircleCIユーザコミュニティ 舟木将彦氏

「お願いドリブン」の開発から脱却する

 CI/CDによる自動化を成功させる前提として、そもそも何が自動化できるのかを理解しておく必要がある。舟木氏は、DevOpsの開発プロセスである「プラン」「コード」「ビルド」「テスト」「リリース」「デプロイ」「運用」「監視」を、それぞれ自動化できるか否かの観点でシンプルに整理した。

 プランおよびそれをコードに落とし込むフェーズでは、ツールによる効率化はできるものの、主要な作業の自動化はまだ難しい。自動化が可能なのは、ビルド、テスト、リリース、デプロイのフェーズだ。舟木氏によると、これらは言い方を変えれば「継続的であるために自動化すべき」部分でもあると言う。

 デプロイ後の運用や監視については、正常時はさまざまなツールによって自動化できるポイントも多い反面、何らかの異常が発生した場合に対応が難しく、現実的には自動化できない部分とした。

ビルド、テスト、リリース、デプロイが自動化の対象
ビルド、テスト、リリース、デプロイが自動化の対象

 なお、自動化が可能な部分のうち、ビルド、テスト、リリースが狭義の継続的インテグレーション(CI)の対象、デプロイが狭義の継続的デリバリー(CD)の対象ということになる。

 「忘れてはならないのは、CI/CDの前提として、ビジネスの継続があること。ビジネスが継続しているからこそ、開発も継続していくと考えるべき」(舟木氏)

 では、それをふまえたうえで、継続的な開発とはどういうことなのか。舟木氏はまず、「継続的ではない」例として、「お願いドリブン」の開発を挙げた。

 ソースコードを修正したら、速やかにビルド、テスト、リリースへと進められればよいが、そこが自動化されておらず人依存になっていると、次に進むために「お願い」が必要な状況に陥りやすい。例えば、ビルドするとコンパイルエラーが出たり、テストが通らなかったりした場合、コードを修正してもう一度、ビルドやテストをお願いしなければならない。節目節目でお願いするのも勇気が必要だが、「そこは勇気の発揮のしどころではない」と舟木氏は強調する。

 やり直しのお願いなどを何度も繰り返していると心理的に遠慮が生まれ、ディレイが生じ、継続性が損なわれてしまう。お願いドリブンから脱却し、遠慮なしに依頼が可能な状態、さらには依頼しなくてもビルドからテスト、リリース、デプロイへと自動的に流れる状態を作り出すことが重要だ。それが開発の継続、ひいてはビジネスの継続につながる。

次のページ
大人はなぜ幼稚園児に負けたのか? マシュマロチャレンジに学ぶ

関連リンク

この記事は参考になりましたか?

  • X ポスト
  • このエントリーをはてなブックマークに追加
【デブサミ2021】セッションレポート連載記事一覧

もっと読む

この記事の著者

CodeZine編集部(コードジンヘンシュウブ)

CodeZineは、株式会社翔泳社が運営するソフトウェア開発者向けのWebメディアです。「デベロッパーの成長と課題解決に貢献するメディア」をコンセプトに、現場で役立つ最新情報を日々お届けします。

※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です

【AD】本記事の内容は記事掲載開始時点のものです 企画・制作 株式会社翔泳社

この記事は参考になりましたか?

この記事をシェア

  • X ポスト
  • このエントリーをはてなブックマークに追加
CodeZine(コードジン)
https://codezine.jp/article/detail/13692 2021/03/12 12:00

おすすめ

アクセスランキング

アクセスランキング

イベント

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

新規会員登録無料のご案内

  • ・全ての過去記事が閲覧できます
  • ・会員限定メルマガを受信できます

メールバックナンバー

アクセスランキング

アクセスランキング