Jump to section

継続的デリバリーとは

URL をコピー

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

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

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

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

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

CI/CD FLow

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

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

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

トランスフォーメーションを導くプラクティス

3 つのお客様事例を通じて、オープン・デジタル・トランスフォーメーションがどのように有意義な成果につながるのかについて説明します。
 

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

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

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

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

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

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

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

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

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 の基盤です。

関連資料

記事

DevSecOps とは

DevOps によるアジリティと応答性を存分に利用するのであれば、IT セキュリティはアプリケーションのライフサイクル全体を通じて、重要な役目を果たす必要があります。

記事

CI/CD とは

CI/CD によって、統合およびテストのフェーズからデリバリー、デプロイメントに至る、アプリケーションのライフサイクル全体を通じて、継続的な自動化と継続的な監視が導入されます。

記事

DevOps エンジニアとは

DevOps エンジニアは、組織内でのコラボレーション、イノベーション、文化的変革を可能にする特有のスキルと専門知識を持ち合わせています。  

DevOps の詳細はこちら

製品

Red Hat の戦略的アドバイザーが、企業組織の全体像を把握しながら課題を分析し、包括的かつコスト効率に優れたソリューションで課題を解決できるようお手伝いします。

リソース