TOPCloud > クラウドベースのCI/CDプラットフォーム、選択のポイントは...

Cloud

クラウドベースのCI/CDプラットフォーム、選択のポイントは(上)

2021/06/28

Martin Heller InfoWorld

 ソフトウエア開発のスピードを上げ、正常に動作するビルドを本番環境にこまめに反映するには、テストとデリバリーのプロセスの一部または全部を自動化する必要がある。できれば、CI/CD(継続的インテグレーション/継続的デリバリー)パイプラインを導入し、リリース前にエラーを発見するためのテストスイートや、パイプラインの手順を実装するスクリプトを取り入れるのが望ましい。

Credit: tine ivanic
Credit: tine ivanic

 CI(Continuous Integration)とは、ソフトウエアのビルド、パッケージング、テストを一貫した形で自動化するための方法論である。CIを取り入れると、ソースコードのバージョン管理システムにチェックインした変更によってビルドがうまくいかなくなったり、ソフトウエアにバグが混入したりといった事態を防ぎやすくなる。通常は、ソフトウエアリポジトリのメインブランチにチェックインが完了した状態が、CIの到達点となる。

 CD(Continuous Delivery)では、テストが完了したソフトウエアを実際の動作環境にリリースする作業を自動化する。ただし、本番環境にいきなり投入して利用者の反応を見るわけではない。通常、まずは開発者の環境にビルドを送る。これを開発者が試してOKが出たら、次はテスト環境に進む。ここでは、もう少し広範囲なユーザーが試用する(内部の専任テスターのみで行う場合もあれば、ベータテストや社内テストへの参加登録者を対象として、ある程度の規模で行う場合もある)。綿密な確認が無事完了し、テスターのOKが出たら、新バージョンのソフトウエアを本番環境に投入する。

 CDの各ステージには、従来のビルドに素早く戻したり、バグ報告のチケットを作成して開発者が次のビルドで対処したりするための手段もある。CDの目的は、膨大な数のビルドを本番環境に送り込むことではなく、デグレードを伴わない形でソフトウエアの改良や強化を継続的に行うことにある。こうしたプラクティスを表す別の言葉に「DevOps」がある。

↑ページ先頭へ