さまざまな 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 を使うようにアプリを変更することにします。

  1. Actions タブで、フォークされたリポジトリに移動します。

  2. 左側の Build and deploy an app to AKS ワークフローを選びます。

  3. 右上隅のその他のオプション メニューを選びます。

    A screenshot showing the Disabled workflow menu option for a GitHub Action workflow.

  4. [ワークフローを無効にする] を選びます。

これで GitHub アクション ワークフローは無効になります。 次は、アプリをビルドしてデプロイする Azure パイプラインを作成します。