Table of Contents
クラウドリソースの自動デプロイは、現代の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 の実行が大幅に向上し、信頼性が高く効率的なクラウドリソース管理を実現します。