沿って, smartwatches 28/07/2022

CI/CDとは何かをわかりやすく解説、具体的なツールや取り組み方とともに紹介(ビジネス+IT) - Yahoo!ニュース

配信

1コメント1件

CI/CDとはDevOpsを実現するツールでもある

CI/CDとは何かをわかりやすく解説、具体的なツールや取り組み方とともに紹介(ビジネス+IT) - Yahoo!ニュース

 デジタルトランスフォーメーション(DX)を推進する中で、最も具体的な取り組みがアプリケーション開発だろう。先駆けとなったUberやAirbnbなどではアプリケーションそのものが「革新」だからだ。こうしたDXアプリケーションの特徴の1つがアジャイル開発によるものであることだ。そして、それを実現する手段として開発と運用を一体として考えるDevOpsが普及。そこからさらにそのためのツールとして、CI/CD(継続的インテグレーション/継続的デリバリー)が注目を集めている。ここでは、自動化の考え方を取り入れて、リリース頻度を高めるCI/CDについて、基礎から主要ツール、活用事例まで、わかりやすく解説する。【詳細な図や写真】CI/CD パイプラインのイメージ(出典:NRI digitalの資料を参考に筆者が作成)

●CI/CDとは何か CI/CDとは「Continuous Integration(継続的インテグレーション)/ Continuous Delivery(継続的デリバリー)」の略称。CI/CDは、何か特定の技術を指すものではなく、ソフトウェアの変更を常にテストし、自動で本番環境に適用できるような状態にしておく開発手法のことをいう。CIとCDそれぞれについて見ていこう。・CI CIとは継続的インテグレーションという名の通り、開発者にとっては自動化のプロセスを指す。 アプリケーション開発で言えば、バラバラに稼働している複数エンジニアのソースコードを継続的に統合(インテグレーション)し、正常に動作することを確認するために検証する取り組みのことである。 新たなソースコードの変更を、定期的に、あるいは毎日でもビルドおよびテストし、共通のリポジトリに統合する。 CIは、アプリケーションに問題がないかを調べるために、クラスや各種のモジュールなど構成するすべての要素に対して実施するテストを自動化できる。そのため、プログラムの不具合をより早く見つけ、すぐに修復できるのである。 なお、CIを用いない場合は、通常、手作業で実施しなくてはならないとされる。・CD CDとは継続的デリバリーという名の通り、ユーザーに継続的にアプリケーションを提供することを指す。提供とはすなわち、本番環境にアプリケーションを載せ、顧客がいつでも新たなアプリケーションを利用できるようにすることである。 CDでは、検証済みコードのリポジトリへのリリースを自動化する。コード変更のマージから本番環境に対応するためのビルドのデリバリーまで、すべての段階でテストとコードリリースを自動化する。これにより、運用チームは本番環境にアプリケーションをすぐにデプロイできる。●なぜCI/CDが必要なのか?背景にあるアジャイル型開発へのシフト では、なぜCI/CDが必要なのか。ビジネス環境は常に変化しており、それに合わせてアプリケーションには変更、差し替え、新規作成、あるいは削除など変化が求められることが背景にある。 従来、多くの企業が、ウォーターフォールモデルでアプリケーションを開発してきた。これは要件定義、基本設計、詳細設計、テストといった開発工程を、滝のように上から下へと一方向に流すものである。 検収やスケジュール、計画、工数見積もりなどがしやすいなどの利点があり、金融業界など品質を重視する現場で採用されてきた。 だが、ウォーターフォールモデルには、要件を固めて工程を進めるため、途中での変更が難しいという欠点がある。ビジネス面やシステム面などの事情で仕様変更が発生した場合、大きな手戻りが発生してしまう。 一方で、DXとはいわば、“ビジネスを革新する何か”を模索する取り組みと言っていい。そのため、開発するアプリケーションの仕様が明確になっていないケースがあったり、開発を進めながら明らかにしていくことがあったりするため、要件を事前に漏れなく定義することが難しい。 そこで、アジャイル開発、DevOps、そしてCI/CDという新たな開発手法が採用されるようになったのである。 競合他社の動きなどに合わせて、すばやくアプリケーションを開発し、統合、デリバリーすることにより、市場が求めるニーズを満たすアプリケーションを維持し、競争力を保つことになる。●CI/CDへの取り組みの全体像 CI/CDの実践のために必要なステップを自動化したものを「CI/CD パイプライン」と呼ぶ(以下図)。●CI/CD関連ツール13選 CI/CDパイプラインを構成するために、さまざまなツールが存在している。以前から広く活用されているオープンソースソフトウエアのCIツール「Jenkins」やソースコードなどの成果物を管理する「GitHub」などもその1つだ。 以下の表では、主なツールを機能別に紹介する。

1/2ページ

最終更新:ビジネス+IT