Azure Pipelines とは
Azure DevOps Services |Azure DevOps Server 2022 |Azure DevOps Server 2020 |Azure DevOps Server 2019 |TFS 2018
Azure Pipelines では、他のユーザーが使用できるように、コード プロジェクトが自動的にビルドおよびテストされます。 ほぼすべての言語やプロジェクトの種類で機能します。 Azure Pipelines は、継続的インテグレーション (CI) と継続的デリバリー (CD) を組み合わせて、コードのテストとビルドを実行し、任意のターゲットに提供します。
継続的インテグレーション (CI) は、コードのマージとテストを自動化する開発チームによって使用されるプラクティスです。 CI の実装は、開発サイクルの早い段階でバグをキャッチするのに役立ちます。これにより、修正コストが低くなります。 自動テストは、品質を確保するために CI プロセスの一部として実行されます。 成果物は CI システムから生成され、頻繁なデプロイを促進するためにリリース プロセスに供給されます。 Azure DevOps Serverの Build サービスは、アプリケーションの CI の設定と管理に役立ちます。
継続的デリバリー (CD) は、コードをビルド、テスト、および 1 つ以上のテストおよび運用環境にデプロイするプロセスです。 複数の環境でのデプロイとテストにより、品質が向上します。 CI システムでは、インフラストラクチャやアプリなど、デプロイ可能な成果物が生成されます。 自動リリース プロセスでは、これらの成果物を使用して、新しいバージョンと修正プログラムを既存のシステムにリリースします。 監視およびアラート システムは継続的に実行され、CD プロセス全体の可視性が向上します。
オンプレミスまたはクラウドでの継続的テスト (CT) は、テクノロジとフレームワークを選択して、迅速でスケーラブルで効率的な方法で継続的に変更をテストする、自動ビルドデプロイテスト ワークフローを使用することです。
バージョン コントロール システム
アプリケーションの CI と CD を構成するための出発点は、ソース コードをバージョン管理システムに配置することです。 Azure DevOps では、GitHub と Azure Repos の 2 つの形式のバージョン管理がサポートされています。 バージョン管理リポジトリにプッシュした変更は、自動的にビルドされ、検証されます。
言語
Azure Pipelines では、Python、Java、JavaScript、PHP、Ruby、C#、C++、Go など、多くの言語を使用できます。
アプリケーションの種類
Azure Pipelines は、Java、JavaScript、Node.js、Python、.NET、C++、Go、PHP、XCode などのほとんどのアプリケーションの種類で使用できます。
Azure DevOps には、アプリケーションをビルドしてテストするためのタスクが多数用意されています。 たとえば、.NET、Java、Node、Android、Xcode、C++ アプリケーションをビルドするためのタスクが存在します。 同様に、多数のテスト フレームワークとサービスを使用してテストを実行するタスクがあります。 オートメーションでコマンド ライン、PowerShell、またはシェル スクリプトを実行することもできます。
展開ターゲット
Azure Pipelines を使うと、コードを複数のターゲットにデプロイできます。 ターゲットには、仮想マシン、環境、コンテナー、オンプレミスおよびクラウド プラットフォーム、または PaaS サービスが含まれます。 モバイル アプリケーションをストアに発行することもできます。
継続的インテグレーションを実施したら、次の手順として、1 つ以上の環境へのアプリケーションのデプロイを自動化するリリース定義を作成します。 この自動化プロセスは、タスクのコレクションとして再び定義されます。
継続的なテスト
アプリがオンプレミスかクラウドかに関係なく、ビルド-デプロイテスト ワークフローを自動化し、テクノロジとフレームワークを選択し、高速でスケーラブルで効率的な方法で 継続的に変更をテストできます 。
- 開発時に品質を維持し、問題を見つけます。 Azure DevOps Serverを使用した継続的なテストにより、チェックインとビルドのたびにアプリが引き続き動作することが保証されます。これにより、ビルドごとにテストを自動的に実行することで、問題を早期に見つけることができます。
- 任意のテストの種類と任意のテスト フレームワーク。 使用するテスト テクノロジとフレームワークを選択します。
- 豊富な分析とレポート。 ビルドが完了したら、テスト結果を確認して、見つけた問題の解決を開始します。 豊富で実用的なビルドオンビルドレポートを使用すると、ビルドが健康になっているかどうかをすぐに確認できます。 しかし、それはスピードだけではありません - 詳細でカスタマイズ可能なテスト結果は、アプリの品質を測定します。
パッケージの形式
他のユーザーが使用できるパッケージを生成するには、NuGet、npm、または Maven パッケージを Azure Pipelines の組み込みパッケージ管理リポジトリに発行できます。 また、その他の任意のパッケージ管理リポジトリを使うこともできます。
Azure Pipelines を使用するには何が必要ですか?
Azure Pipelines を使用するには、次のものが必要です。
- Azure DevOps の組織。
- ソース コードをバージョン管理システムに格納する。
価格
パブリック プロジェクトを使用する場合、Azure Pipelines は無料です。 詳細については、「 パブリック プロジェクトとは」を 参照してください。プライベート プロジェクトを使用する場合、毎月最大 1,800 分 (30 時間) のパイプライン ジョブを無料で実行できます。 並列ジョブに基づく価格のしくみの詳細について説明します。
Azure Pipelines を使用する必要がある理由
CI パイプラインと CD パイプラインを実装すると、ユーザーがすぐに使用できる一貫性のある品質のコードを確保するのに役立ちます。 また、Azure Pipelines では、プロジェクトのビルドを自動化し、ユーザーがプロジェクトを利用できるようにする、迅速で簡単で安全な方法が提供されます。
Azure Pipelines は次のシナリオをサポートしているため、使用します。
- 任意の言語またはプラットフォームで動作します
- さまざまな種類のターゲットに同時にデプロイする
- Azure デプロイとの統合
- Windows、Linux、または Mac マシン上のビルド
- GitHub との統合
- オープンソース プロジェクトで動作します。