OpenTextのホームページ。
技術トピックス

CI/CDとは何か?

クエスチョンマークを中心としたIT項目の図解

概要

継続的インテグレーション(CI)と継続的デリバリー(CD)は、ソフトウェア開発を成功に導くアジャイルとDevOpsのツールチェーンに欠かせない2つの要素である。CI/CDは、コードが常にリリース可能な状態にあり、新機能やバグ修正ができるだけ早く顧客に届くことを保証するのに役立つ。

CI/CD

CI/CDとは何か、どのように機能するのか?

継続的インテグレーションとは、開発のビルドや統合の段階で、1日に数回、すべてのコード変更を共有メインラインにマージすることである。開発者はコードの変更をマージする際に、自動テストを実行してエラーを迅速に検出し、修正することができる。これにより、ソフトウェアの品質を向上させ、検証やアップデートの配信にかかる時間を最小限に抑えることができる。CIは主に、開発者がコードの変更を長期間マージしない場合に起こりうる統合の問題を防ぐ。

継続的デリバリーはCIを発展させたもので、開発者はビルド後のコード変更をテスト環境やステージング環境に自動的にデプロイする。このプロセスにより、開発チームと運用チームは、標準化された継続的テストを通過し、ビルド段階を経てデプロイ準備が整ったソフトウェア成果物を確実に手にすることができる。CDを使用することで、チームはコード変更を自動的にテストし、迅速にデプロイすることができ、常にプロダクションで使用可能なコードベースを確保することができる。


CI/CDの原則とは?

すべてのCI/CDキャンペーンには、4つの主要原則がある:

  1. すべてを自動化する:自動化が進めば進むほど、手作業が減り、チームは新機能やバグ修正を迅速に提供できるようになる。
  2. 品質を作り込む:開発者は、品質を後付けするのではなく、最初からソフトウェアに組み込むべきである。これは、開発プロセスの一環として自動テストを書き、コードレビューを実施することを意味する。
  3. 早期に、頻繁にテストを行う:早期かつ頻繁にテストを行うことで、開発チームと運用チームはエラーを迅速に特定し、コードベースへの統合を防ぐことができる。
  4. 頻繁にデプロイする:定期的にデプロイすればするほど、デプロイごとのリスクは少なくなる。これにより、顧客は新機能やバグ修正をより早く受け取ることができる。

CI/CDの利点

ソフトウェア開発プロジェクトでCI/CDを使用することには、以下のようなメリットがある:

  • 新機能とバグ修正の迅速な提供
  • ソフトウェアの品質向上
  • リスクの低減
  • コラボレーションの向上

新機能とバグ修正の迅速な提供

テストとOpenText™ Software Delivery ManagementをCI/CDに組み込むことで、新しいコード変更をより迅速に顧客に提供できます。つまり、新機能やバグ修正がより早く提供され、顧客からのフィードバックにより迅速に対応できるようになる。全体として、CI/CDに伴うデリバリー時間の短縮は、市場投入までの時間の短縮、開発プレッシャーの軽減、顧客の満足を可能にし、これらすべてが組織のユニーク・バリュー・プロポジション(UVP)と競争力を高める。


ソフトウェアの品質向上

CI/CDで早期かつ頻繁にテストを行うことで、エラーを素早く発見し、コードベースへの侵入を防ぐことができる。これにより、生産工程でのバグが減り、顧客の手に渡る前にソフトウェアのパフォーマンスと動作が正しくなる。


リスクの低減

コード変更を頻繁にデプロイすることで、デプロイごとのリスクを減らすことができる。これは、デプロイするたびにテストするコードが少なくなるからだ。さらに、問題が発生した場合、それを迅速かつ効率的に特定し、解決することが容易になる。

アプリケーション・セキュリティ・テストをCI/CD パイプラインに直接組み込むことで、企業はソフトウェア開発ライフサイクルの早い段階で脆弱性を発見し、修正することができる。このシフトレフトアプローチは、悪用可能なコードをリリースするリスクを大幅に低減し、チームのコンプライアンス達成、手戻りの削減、安全なアプリケーションの迅速な提供を支援します。


コラボレーションの向上

開発者が単独でコードのブランチを変更した場合、そのコードの変更が他の開発者が同時に行っている変更と衝突する可能性が高くなります。しかしCI/CDを使えば、開発者はすべてのコード変更をリアルタイムで中央のメインラインにマージし、自動テストによって検証することができる。更新されたコードと既存のコードの間にコンフリクトがある場合、CI/CDは、ソフトウェアがエンドユーザーに到達する前に、そのコンフリクトをソースし、緩和することを容易にする。


CI/CDはどのように機能するのか?

CI/CDパイプラインの構築には、主に4つのステップがある:

  1. ビルドする:ソースコードを実行可能なアーティファクトに格納し、パッケージ化する。
  2. テスト:自動テスト環境に成果物を挿入し、コードの正確性と動作を検証する。
  3. デプロイ:アーティファクトをテストまたはステージング環境(開発および運用チーム用)と本番環境(エンドユーザー用)にデプロイします。
  4. 監視する:正式リリース前のデプロイ環境で、アプリケーションのエラーやパフォーマンスの問題を監視します。

これらの4つのステップは通常、コード変更時に繰り返され、新しいコードが適切に機能し、アプリを壊すことなくコードベースにうまく統合されることを保証する。


なぜCI/CDパイプラインが必要なのか?

CI/CDパイプラインは、DevOpsプロセスの自動化を望むソフトウェア開発チームや運用チームにとって不可欠だ。CI/CDパイプラインを使用することで、開発者はソフトウェアの成果物をビルドし、自動テストを実行し、コード内のエラーを素早くソース化して緩和することができる。さらに開発者は、OpenText™ Software Delivery Managementを通じて、バグのないコードアップデートや新機能を顧客の手に届けることができます。


オープンテキストはCI/CDを支援します

CI/CDパイプラインを効率化できるCI/CDツールをお探しなら、OpenText Software Delivery Managementがお役に立ちます。OpenTextは、OpenText Software Delivery Managementに、ソフトウェア開発計画、テスト管理、リリース管理、プロジェクトトレーサビリティ、詳細な分析を一元化して効率化する機能を搭載しました。OpenText Software Delivery Managementは、主に2つの方法でCI/CDパイプラインを支援します:

  1. コードが変更されるたびに自動的にテストを実行することで、テストプロセスを自動化することができる。
  2. コード変更、テスト、ビルドなど、ソフトウェア開発の成果物を管理するための統一プラットフォームを提供します。これにより、プロジェクトで起きていることすべてを簡単に追跡し、問題を素早く特定することができる。

ソフトウェアの品質向上とクラウドでの新機能提供のスピードアップに役立つCI/CDソリューションをお探しなら、OpenText Core Software Delivery Platformが最適です。バリューストリーム管理およびDevOpsプラットフォームであるOpenText Core Software Delivery Platformは、現在使用しているツールを置き換えることなく、ビルド、テスト、デリバリーの迅速化を支援します。


OpenText は CI/CD セキュリティにどのように貢献しているか

OpenText Application Security は、CI/CD ワークフローに適合し、開発チームとセキュリティチームが協力して、安全なソフトウェアをより早く、より高い信頼性でリリースできるように支援する、開発者向けの包括的なアプリケーションセキュリティ as a Service ソリューションです。セキュリティはプロセスの一部となり、妨げにはならない。

クラウドネイティブなアプリケーションを構築する場合でも、レガシーシステムを扱う場合でも、OpenTextはソフトウェアデリバリプロセス全体を通じて自動化された継続的なセキュリティテストをサポートします。Jenkins、GitHub Actions、Azure DevOps、GitLabなどのツールに統合することで、セキュリティ・ポリシーを適用したり、安全でないビルドを失敗させたり、コードが本番環境に到達する前に重要な問題を優先させたりすることができます。

当社のソリューションは、静的アプリケーション・セキュリティ・テスト(SAST)、動的アプリケーション・セキュリティ・テスト(DAST)、ソフトウェア構成分析(SCA)をサポートします。その主な利点は以下の通りである:


CI/CDを自動化する準備はできていますか?

CI/CDは、新しいコード変更を迅速かつ効率的に提供したいソフトウェア開発チームや運用チームにとって不可欠である。OpenText Software Delivery Management や OpenText Core Software Delivery Platform などのツールを使用して、コードのマージ、テスト、デプロイメントプロセスを自動化することで、ソースコードのエラーを簡単にソース化して軽減し、コード変更や新機能のデプロイを迅速化し、ソフトウェア全体の品質を向上させることができます。

OpenText Core Software Delivery PlatformでCI/CDパイプラインを簡単に管理する方法をご覧ください。

CI/CDとは何か?

今すぐ始める

詳細情報