さまざまな CI/CD アプローチを調べる
これまで、クラウドネイティブ アプリに対して CI/CD をサポートする 2 つのアプローチを見てきました。 アプリを手動で AKS にデプロイし、GitHub Actions を使ってアプリをビルドしてデプロイしました。 Microsoft は 3 つ目のアプローチである Azure Pipelines をサポートしています。 どちらの自動化アプローチも有効です。ニーズに最適なものを選んでください。
GitHub Actions と Azure Pipelines の違い
まず、これら 2 つのアプローチがどのくらい同じであるかを見てみましょう。 GitHub Actions と Azure Pipelines はどちらも CI/CD ツールです。 どちらも以下をサポートしています。
- アプリのビルドとデプロイ。
- アプリをビルドしてデプロイする手順を定義する YAML ファイル。
- ビルドとデプロイのプロセスを開始するトリガー。
- ビルドとデプロイのプロセスの監視。
- デプロイのロールバック。
機能のサポートのレベルが異なるため、2 つのアプローチは異なります。 これらの違いを見てみましょう。
GitHub のアクション | Azure Pipelines |
---|---|
パブリック リポジトリの場合は無料 | オープン ソース プロジェクトの場合は無料です |
プライベート リポジトリの場合、1 か月あたり最大 2000 分まで無料です | プライベート リポジトリの場合、1 か月あたり最大 1800 分まで無料です |
20 個の同時実行ジョブに制限されています | 10 個の同時実行ジョブに制限されています |
Azure Pipelines は、さまざまなソース リポジトリをサポートしているため、GitHub Actions よりも優れています。 Azure Pipelines は、GitHub、GitHub Enterprise Server、Bitbucket Cloud、Azure Repos Git と TFVC、Subversion、外部 Git をサポートしています。 GitHub Actions は GitHub のみをサポートしています。
より複雑な CD/CD ワークフローがある場合は、ニーズをサポートするように Azure Pipelines をスケーリングできます。 Azure Pipelines は、複数のステージ、複数のジョブ、複数のステップをサポートします。 GitHub Actions は、複数のステップを含む 1 つのジョブのみをサポートします。 この柔軟性を自動テスト シナリオと組み合わせることができます。
Note
DevOps で新しいプロジェクトを作成する場合、無料の Azure Pipeline の分数を使用できない場合があります。 無料の並列処理許可を要求するには、並列処理要求フォームに入力します。 次の演習を完了する前に、これを行う必要があります。
GitHub アクションを無効にする
違いを確認した後に、Azure Pipelines を使うようにアプリを変更することにします。
Actions タブで、フォークされたリポジトリに移動します。
左側の Build and deploy an app to AKS ワークフローを選びます。
右上隅のその他のオプション メニューを選びます。
[ワークフローを無効にする] を選びます。
これで GitHub アクション ワークフローは無効になります。 次は、アプリをビルドしてデプロイする Azure パイプラインを作成します。