Bau- und Bauingenieurwesen
Implementieren der automatisierten Bereitstellung von Azure-Ressourcen mit Github-Aktionen
Table of Contents
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.