継続的デリバリーとは

URL をコピー

継続的デリバリーは、自動化を使用して新しいコードのリリースを迅速化するソフトウェア開発手法です。

開発者によるアプリケーションへの変更を、自動化によってコードリポジトリやコンテナレジストリにプッシュできるプロセスを確立します。

DevOps のためのエンタープライズ自動化チェックリストを入手する

継続的デリバリーは、アプリケーション開発のいくつかの段階を自動化することでソフトウェアを頻繁に提供する手法である CI/CD の一部を成すものです。 

CI/CD の「CI」は、継続的インテグレーションを指します。継続的インテグレーションにより、アプリケーションへの新しいコード変更が定期的にビルドおよびテストされ、共通リポジトリに統合されます。CI は、同時に生じるブランチが多すぎて互いに競合するというアプリケーション開発の問題を解決します。

CI/CD の「CD」は継続的デプロイまたは継続的デリバリーを指します。これは、パイプラインのさらに先の段階を自動化する方法です。

CI/CD FLow

Red Hat のリソース

継続的デリバリーと継続的デプロイは密接に関連する概念ですが、自動化の程度を示すためにあえて使い分けられることがあります。

継続的デリバリーは一般に、開発チームによるアプリケーションへの変更に対してバグがないか自動でテストを行い、変更をリポジトリ (GitHub やコンテナレジストリなど) にアップロードします。ここで、変更が運用チームによって本番環境に導入されます。開発チームとビジネスチームとの間における可視性とコミュニケーションの不足という問題に対する解決策です。したがって、継続的デリバリーの目的は、新規コードの導入作業の負担を最小限にすることです。

一方、継続的デプロイでは、新しいソフトウェアのリリースプロセスを通じてさらにいくつかのステップをカバーします。これには通常、開発者による変更をリポジトリから本番環境に自動的にリリースし、顧客が使用できるようにするプロセスが含まれます。運用チームが担当する手動プロセスが多すぎて、アプリケーションの提供が遅れるという問題に対処します。継続的デリバリーのメリットを活用し、パイプラインの次のステージを自動化します。

CI/CD パイプラインは、新しいバージョンのソフトウェアを提供するために実行される一連のステップです。CI/CD を実践すると、CI/CD パイプラインが確立されます。

CI/CD パイプラインは、モニタリングと自動化を導入し、特に統合とテストのフェーズ、およびデリバリーとデプロイのフェーズで、アプリケーション開発ワークフローを向上します。 

CI/CD パイプラインの各ステップは手動で実行することができますが、CI/CD パイプラインの真の価値はアプリケーションライフサイクルの自動化によって発揮されます。

CI/CD パイプラインの詳細はこちら

「開発」と「運用」の手法を組み合わせた概念である DevOps は、高品質かつ迅速なサービス提供によりビジネス価値や対応スピードを向上することを目的とした、企業文化、自動化、およびプラットフォームの設計に対するアプローチです。

継続的デリバリーは、DevOps に関連して頻繁に適用される具体的なソフトウェア開発手法です。通常、DevOps アプローチには継続的デリバリーパイプラインの作成が含まれます。

DevOps とは、アイデア (新しいソフトウェア機能、拡張リクエスト、バグ修正など) を開発からプロダクションへと進め、実際にユーザーに価値提供できるようにするまでのプロセスを迅速化するためのアプローチを表します。 

開発者は、通常は標準開発環境でコーディングしますが、DevOps によってテスターや IT 運用チームと密接に連携することにより、信頼性を犠牲にすることなく、ソフトウェアの構築、コードのコミット、ユニットテスト、リリースをより短時間で行うことができます。

DevOps の実装による主な成果は CI/CD パイプラインであり、それをアジャイル手法を使用して連携する開発チームと運用チームがサポートしているということです。 

DevOps の詳細を読む

CI/CD は自動化を活用して、開発、デプロイ、テストのプロセスを迅速化します。自動化によって、人的エラーの削減と品質の維持を同時に実現できます。また、自動化は DevSecOps 戦略の一環としてセキュリティもサポートすることもできます。

ツールには、特にインテグレーション (CI) 側を処理するものや、開発とデプロイ (CD) を管理するもの、継続的なテストや関連機能に特化したものがあります。

最もよく知られている CI/CD 向けのオープンソースツールの 1 つが、自動化サーバーの Jenkins です。Jenkins は、単純な CI サーバーから完全な CD ハブまであらゆるものを処理するように設計されています。

もう 1 つのよく使われるオープンソース・プロジェクトは、Continuous Delivery Foundation の一部である Tekton です。Tekton は、Kubernetes の概念を使用してデリバリーパイプラインを宣言的に記述し、それらをコンテナでオンデマンドで実行する機能を提供します。

Tekton は、Red Hat® OpenShift® の CI/CD ソリューションである OpenShift Pipelines の基盤です。

OpenShift Pipelines の詳細

ハブ

Red Hat 公式ブログ

Red Hat のお客様、パートナー、およびコミュニティのエコシステムに関する最新の情報を入手しましょう。

すべての Red Hat 製品のトライアル

Red Hat の無料トライアルは、Red Hat 製品をハンズオンでお試しいただける無料体験版です。認定の取得に向けた準備をしたり、製品が組織に適しているかどうかを評価したりするのに役立ちます。

関連情報

ブルーグリーン・デプロイメントとは?をわかりやすく解説

ブルーグリーン・デプロイメントは、アプリのリリース時に旧バージョン(ブルー)と新バージョン(グリーン)の両方を稼働させ、トラフィックを徐々に新環境に移行させる手法。

CI/CD とは - 継続的インテグレーション/継続的デリバリー

CI/CD (継続的インテグレーション/継続的デリバリー) は、アプリ開発におけるコードの統合とテスト、提供、デプロイのプロセス全体を継続的に自動化し、監視する手法です。

SRE とは?をわかりやすく解説

SRE(Site Reliability Engineering:サイト信頼性エンジニアリング) とは、IT 運用の方法論であり、ソフトウェアを使用してシステムを管理し、運用タスクを自動化します。

DevOpsリソース