MicrosoftはAzure DevOpsプロダクトの一部として、CI/CDサービスのAzure Pipelinesを新たに発表した。ワークロードの構築、テスト、デプロイを可能にし、さまざまな言語やプロジェクトタイプ、プラットフォームと連携する。
Visual Studio Team Services(VSTS)の後継サービスであるAzure DevOpsは、Azure Boards、Azure Repos、Azure Test Plans、Azure Artifacts、Azure Pipelinesなどのコンポーネントで構成され、Atlassian Stackなどの競合サービスと同様に、コードの共有や作業の追跡、ソリューションの発行といった、エンドツーエンドのサービスを提供する。これらのコンポーネントは、それぞれがAzure Azure DevOpsチェーンのリンクであり、Azure PipelinesはそのCI/CDパイプラインの役割を担うものだ。さらにAzure Pipelinesは、VSTSで利用可能であった機能をすべて備えており、これらを新たな機能で補完する役割も果たす。
- Azure Pipelinesはスタンドアロンサービスであり、他のAzure DevOpsコンポーネントとは独立して導入および使用することができる。
- GitHubマーケットプレースから新たなパイプラインを直接取得し、設定することが可能である。
- GitHubとの統合性が向上し、プルリクエストの構築や、関連するイシューと合わせたコミットの追跡が可能になった。
- コンテナジョブを使用するコンテナのネイティブサポート。
- オープンソースプロジェクトは、Azure Pipelinesをオープンソース用に無償で使用することができる。
- プライベートプランでは、VSTSの時よりも無償使用に関する制限が柔軟になった。
プライベートプロジェクトでAzure Pipelinesを使用する場合には、クラウドホスト型のCI/CDでは月1,800分まで、セルフホストエージェント上の実行では無制限に、無償でサービスが提供される。それを超える場合は、時間無制限の並行ジョブを、Azure DevOpsおよびGitHub Markletplaceから追加で購入することができる。Azure Piplelinesを使うことで、Azure ReposやGitHub、Bitbucketなど、さまざまなコードリポジトリとの統合が可能になる。さらに、オープンソースのプロジェクトには完全に無償で提供され、時間無制限のCI/CDを最大10並行ジョブまで使用することが可能だ。ソリューションアーキテクトでAzure MVPのSam Cogan氏によれば、これはオープンソースプロジェクトにとって朗報である。
GitHubプロジェクトでAzure Pipelinesを有効にすれば、無償で、何分間でもビルドを実行することができます。唯一の制限は、同時に実行可能なビルド数が10に限られていることです。オープンソースプロジェクトにとって、これは素晴らしい新サービスです。
デプロイメントの面でも、Azure DevOpsには柔軟性があり、LinuxやWindows、macOSへのデプロイが可能である他、AzureやAWS、Google Cloud Platformなどのクラウドプラットフォームも対象となっている。これらのデプロイでは、組み込みデプロイメントタスクを使用することで、サーバレス、Docker HubやAzure Container Registryなどのコンテナレジストリ、仮想マシン、Kubernetesなどを対象とすることが可能だ。
出典: https://azure.microsoft.com/en-us/solutions/architecture/cicd-for-containers/
Azure PipelinesのジョブはYAMLで作成されて、ビジュアルデザイナを使用するか、あるいはスキーマ参照に従うことで生成される他、Visual Studio Code用のエクステンションとWebエディタも開発中である。さらには、パイプラインに複数のジョブを追加して、パイプラインをセクションに分割する機能を実現することもできる。この方法で、タスクを条件付きで実行したり、異なるエージェントを対象としたり、あるいはファンイン/ファンアウトパターンを実装したりすることが可能だ。
この新サービスを使用するには、まずAzure PipelinesあるいはAzure DevOpsにサインアップする必要がある。その上でソースリポジトリを指定し、テンプレートを選択する。氏の記事では、Sam Cogan氏がこのプロセス全体について詳細に説明している。
この記事を評価
- 編集者評
- 編集長アクション