クラウドリソースの自動デプロイは、現代のITオペレーションの重要な部分になっています。 GitHub Actionsのようなツールを使用して、Azureリソースをワークフローを合理化し、手動エラーを減らし、プロジェクトデリバリーを加速します。 この記事では、GitHub Actionsを使用してAzureリソースの自動デプロイメントを実装する方法について説明します。

基本を理解する

GitHub Actions は、GitHub リポジトリでワークフローを直接自動化できる、継続的な統合および継続的デプロイメント (CI/CD) プラットフォームです。Azure、Microsoft のクラウドプラットフォームで、仮想マシン、データベース、および App Services などのさまざまなリソースをスクリプトや API を通じて自動的にプロビジョニングできます。

前提条件

  • 必要な権限を持つAzureアカウント
  • GitHub プロジェクトリポジトリ
  • Azure CLI は初期設定のためにローカルにインストール
  • Azure で割り当てられたコントリビューターの役割を持つサービス プリンシパル

Azureサービスプリンシパルの設定

まず、GitHubアクションがAzureで認証できるようにServiceプリンシパルを作成します。 Azure CLIを使用します。

[]]

[appId[], []]password, [テナント[[]]]])を下に記します。 これらはGitHubの秘密として追加されます。

GitHub の秘密の設定

GitHubリポジトリに移動し、設定>に移動します。 秘密>アクション。 次の秘密を追加します。

  • AZURE CLIENT ID[:あなたのappId
  • []AZURE SECRET:パスワード
  • AZURE TENANT ID[:あなたのテナント
  • []AZURE SUBSCRIPTION ID[:あなたのサブスクリプションID

GitHubアクションワークフローの作成

リポジトリでは、[ で新しいワークフローファイルを作成します。このファイルは、Azure リソースを自動的にデプロイする手順を定義します。

name: Deploy Azure Resources

on:
 push:
 branches:
 - main

jobs:
 build-and-deploy:
 runs-on: ubuntu-latest
 steps:
 - name: Checkout code
 uses: actions/checkout@v3

 - name: Login to Azure
 uses: azure/login@v1
 with:
 client-id: ${{ secrets.AZURE_CLIENT_ID }}
 client-secret: ${{ secrets.AZURE_SECRET }}
 tenant-id: ${{ secrets.AZURE_TENANT_ID }}

 - name: Deploy Resources
 run: |
 az account set --subscription ${{ secrets.AZURE_SUBSCRIPTION_ID }}
 az deployment group create \
 --resource-group myResourceGroup \
 --template-file azuredeploy.json \
 --parameters @azuredeploy.parameters.json

このワークフローは、Azure にログインし、ARM テンプレートに基づいてリソースをデプロイします。デプロイメントコマンドをカスタマイズして、特定のリソースプロビジョニングニーズに合わせてカスタマイズできます。

自動展開の利点

  • 一貫した、反復可能な展開
  • リソースの迅速なプロビジョニング
  • 手動誤りを削減
  • コラボレーションとトラッキングの改善

GitHub Actions と Azure による自動デプロイパイプラインの実装により、DevOps の実行が大幅に向上し、信頼性が高く効率的なクラウドリソース管理を実現します。