2020年02月19日 08時00分 公開
特集/連載

CI/CDパイプラインの活用【後編】継続的な改善の基盤となるCI/CDパイプライン活用術

CI/CDパイプラインをいかに使うか。チェックインやリリースのタイミングはいつにするか。CI/CDパイプラインにどのような機能を持たせるか。識者の意見を聞いた。

[Adrian Bridgwater,Computer Weekly]

 前編(Computer Weekly日本語版 1月22日号掲載)では、CI/CDの全体像とCI/CDパイプラインを紹介した。

 後編では、CI/CDパイプラインの活用法を掘り下げる。

ロールバックの実施

iStock.com/Melpomenem

 本誌が話を聞いた専門家は、コードの増加を可能な限り最小限に抑えてCI/CDパイプラインを始めることをアプリケーションチームに推奨する。GitLabで製品管理とCI/CD担当のディレクターを務めるジェイソン・レニー氏は次のように語る。「変更が小さいほど、問題発生時のコードレビュー、テスト、ロールバックが容易になる。その結果、運用環境でのバグや不具合が少なくなる。だがコードレビューを実施しない、十分なテストを行わない、ロールバックする時機を判断するための監視を行わないという状態ではこのようなメリットは得られない」

変更の厳密な管理

 CI/CDパイプラインへの取り込みは、新しいコードがソースコードリポジトリにチェックインされるたびに行われることもあれば、特定のアプリケーションに合わせて毎時間や毎日行われることもある。ベンモシェ氏は次のように話す。「ただし、毎回のイテレーションに行われる変更の数を厳しく管理するには開発者の統制が必要になる。ささいな変更でも重要な機能に影響を与える恐れがある。統合の問題が発生する恐れを減らすには、複数の層で厳密なテストを実施しなければならない。また、単体テスト、静的コードテスト、機能テスト、負荷テスト、耐久テストを高い割合でカバーする必要がある」

 GitLabのレニー氏は次のように述べる。「CI/CDパイプラインの完了にかかる時間が大きな制限因子になる。リリースの頻度をCI/CDパイプラインの時間よりも短くすると、マスター(ソースブランチ)が破損するリスクがある。CI/CDパイプラインで以前の変更が実装されている間に新たな変更が結合されると競合の恐れが生じる。速度を上げると、ステージングでは全てが成功してもマスターでは失敗することになる。Google、Facebook、Uberなどの洗練されたエンジニアリング企業は、これを緩和するために




続きを読むには、[続きを読む]ボタンを押して
ください(PDFをダウンロードします)。






ITmedia マーケティング新着記事

news111.jpg

マーケターの5割が自分の仕事の自動化に不安――ベーシック調査
マーケターのキャリアに関する調査結果です。

news150.jpg

SNSマーケティング予算は前年比で増加傾向、注力するのは「Instagram」と「Twitter」――ガイアックス調査
ガイアックスの運営するSNSマーケティングメディア「ソーシャルメディアラボ」が150社を...

news129.jpg

新型コロナウイルス感染拡大で米国のEC取引が急増――Adobe Digital Economy Index
Adobeは、「Adobe Analytics」と、オンラインでの商品およびサービスの売り上げを測定す...