GitHub Actions を使用して CI/CD 作業の一環として ARM テンプレートをデプロイする

完了

GitHub Actions は 、チームが今日のマーケットプレースでアジャイルで競争力を高めるのに役立ちます。 これらは、システム開発またはソリューション開発ライフサイクルのタスクを自動化するのに役立ちます。

自分とチームが、Azure 環境で大量のリソースを必要とするソリューションを開発しているとします。 ソリューションを継続的インテグレーションおよび継続的デリバリー (CI/CD) パイプラインの一部として迅速かつ自動的にデプロイできるようにする必要があります。 そうすることで、プロジェクトのインフラストラクチャの作成と破棄を自動化できます。 CI/CD パイプラインにリソース管理を含めることで、IT タスクを自動化するためにコードとしてのインフラストラクチャ (IaC) を採用します。

適切な CI/CD パイプラインを使用すると、Azure Resource Manager (ARM) テンプレート テスト ツールキット (略して arm-ttk ) などのツールを使用して、デプロイ タスクにテスト 手順を含めることもできます。 このツールキットの詳細については、「 what-if とテスト ツールキットを使用してデプロイを検証する」を参照してください

作成に集中できるように、パイプラインにテストを含めるのをお勧めします。 arm-ttk ツールキットは、問題を回避するために、デプロイ中にテンプレートを検証する一連のテストを実行します。

これらの目標の達成に役立つツールがいくつかあります。 コード リポジトリに GitHub を既に使用しているため、GitHub Actions を調査して、必要な自動化が提供されているかどうかを確認することにしました。

このモジュールでは、ARM テンプレートをデプロイする方法として GitHub Actions について説明します。

GitHub Actions とは

GitHub Actions は、GitHub の開発ワークフローのタスクを自動化するためのパッケージ スクリプトです。

GitHub Actions を使用すると、ARM テンプレートが格納されている GitHub リポジトリに直接、ソフトウェア開発ライフサイクル用のカスタム ワークフローを作成できます。 YAML ファイルはワークフローを定義します。

ワークフローには 1 つ以上のジョブがあります。 各ジョブには、個々のタスクを実行する一連のステップが含まれています。 手順では、コマンドを実行したり、アクションを使用したりできます。 独自のアクションを作成したり、 GitHub コミュニティで共有されているアクションを 使用したり、必要に応じてカスタマイズしたりできます。

ARM テンプレートをデプロイするための基本的なワークフローには、少なくとも 3 つの手順があります。

  1. テンプレートファイルを確認します。
  2. Azure にサインインします。
  3. テンプレートをデプロイします。

Azure サインイン アクションでは、サービス プリンシパルを使用して Azure に対する認証を行います。 CI/CD ワークフローのプリンシパルが Azure リソースをデプロイするには、適切な組み込み共同作成者が必要です。