さまざまな CI/CD アプローチを調べる

完了

ここまでは、クラウドネイティブ アプリの CI/CD をサポートするための 2 つの方法を見てきました。 アプリを AKS に手動でデプロイし、GitHub Actions を使用してアプリをビルドしてデプロイしました。 Microsoft では、3 つ目のアプローチである Azure Pipelines がサポートされています。 自動化されたアプローチはどちらも有効です。ニーズに最も適したものを選択します。

GitHub アクションと Azure Pipelines はどのように異なりますか?

まず、これら 2 つのアプローチがどのように同じかを見てみましょう。 GitHub Actions と Azure Pipelines はどちらも CI/CD ツールです。 どちらも次の機能をサポートします。

  • アプリのビルドとデプロイ。
  • アプリをビルドしてデプロイする手順を定義する YAML ファイル。
  • ビルドおよびデプロイ プロセスを開始するトリガー。
  • ビルドとデプロイのプロセスを監視する。
  • デプロイのロールバック。

機能のサポート レベルが異なると、2 つのアプローチが異なります。 これらの違いを見てみましょう。

GitHub Actions Azure Pipelines
パブリック リポジトリは無料 オープン ソース プロジェクトの場合は無料
プライベート リポジトリの場合、1 か月あたり最大 2,000 分無料 プライベート リポジトリの場合、1 か月あたり最大 1800 分無料
最大 20 個の同時実行ジョブ 最大 10 個の同時実行ジョブ

Azure Pipelines は、さまざまなソース リポジトリをサポートしているため、GitHub Actions よりも優れた利点があります。 Azure Pipelines では、GitHub、GitHub Enterprise Server、Bitbucket Cloud、Azure Repos Git、TFVC、Subversion、External Git がサポートされています。 GitHub Actions では GitHub のみがサポートされます。

より複雑な CD/CD ワークフローがある場合は、Azure Pipelines をスケーリングしてニーズをサポートできます。 Azure Pipelines では、複数のステージ、複数のジョブ、および複数のステップがサポートされています。 GitHub Actions では、複数のステップを持つ 1 つのジョブのみがサポートされます。 この柔軟性は、自動テスト シナリオと組み合わせることができます。

DevOps で新しいプロジェクトを作成すると、無料の Azure Pipeline Minutes が利用できない場合があります。 無料の並列処理の許可を要求するには、 並列処理要求フォームに入力します。 これは、次の演習を完了する前に行う必要があります。

GitHub アクションを無効にする

違いを確認したら、Azure Pipelines を使用するようにアプリを変更することにします。

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

  2. Build and deploy an app to AKS ワークフローを選択します。

  3. 右上の [その他のオプション] メニューを選択します。

    GitHub アクション ワークフローの [無効なワークフロー] メニュー オプションを示すスクリーンショット。

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

GitHub アクション ワークフローを無効にしました。 次に、アプリをビルドしてデプロイするための Azure Pipeline を作成します。