Die automatisierte Bereitstellung von Cloud-Ressourcen ist zu einem wichtigen Bestandteil moderner IT-Operationen geworden. Die Verwendung von Tools wie GitHub Actions zur Bereitstellung von Azure-Ressourcen optimiert Workflows, reduziert manuelle Fehler und beschleunigt die Projektbereitstellung. Dieser Artikel untersucht, wie die automatisierte Bereitstellung von Azure-Ressourcen mit GitHub Actions implementiert werden kann.

Die Grundlagen verstehen

GitHub Actions ist eine Continuous Integration und Continuous Deployment (CI/CD) Plattform, die es Entwicklern ermöglicht, Workflows direkt in ihren GitHub Repositories zu automatisieren. Azure, Microsofts Cloud-Plattform, bietet eine Vielzahl von Ressourcen wie virtuelle Maschinen, Datenbanken und App Services, die automatisch über Skripte und APIs bereitgestellt werden können.

Voraussetzungen

  • Azure Account mit den erforderlichen Berechtigungen
  • GitHub Repository für Ihr Projekt
  • Azure CLI lokal installiert für die Ersteinrichtung
  • Service Principal mit der in Azure zugewiesenen Rolle des Beitragenden

Einrichten von Azure Service Principal

Erstellen Sie zunächst einen Service Principal, damit GitHub-Aktionen sich mit Azure authentifizieren können.

Die , , und werden als Geheimnisse in GitHub hinzugefügt.

GitHub Secrets konfigurieren

Navigieren Sie zu Ihrem GitHub-Repository und gehen Sie dann zu Einstellungen > Secrets > Actions. Fügen Sie die folgenden Geheimnisse hinzu:

  • AZURE CLIENT ID: Ihre appId
  • AZURE SECRET: Ihr Passwort
  • AZURE TENANT ID: Ihr Mieter
  • AZURE SUBSCRIPTION ID: Ihre Abonnement-ID

Erstellen des GitHub Actions Workflows

Erstellen Sie in Ihrem Repository eine neue Workflowdatei unter Diese Datei definiert die Schritte zum automatischen Bereitstellen von Azure-Ressourcen.

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

Dieser Workflow loggt sich in Azure an und stellt Ressourcen basierend auf Ihren ARM-Vorlagen bereit.Sie können die Bereitstellungsbefehle an Ihre spezifischen Ressourcenbereitstellungsanforderungen anpassen.

Vorteile der automatisierten Bereitstellung

  • Konsequente und wiederholbare Bereitstellungen
  • Schnellere Bereitstellung von Ressourcen
  • Weniger manuelle Fehler
  • Verbesserte Zusammenarbeit und Tracking

Die Implementierung automatisierter Deployment-Pipelines mit GitHub Actions und Azure verbessert Ihre DevOps-Praktiken erheblich und gewährleistet ein zuverlässiges und effizientes Cloud-Ressourcenmanagement.