Übung: Automatisieren von Updates mit GitHub Actions

Abgeschlossen

Mit GitHub Actions lassen sich CI/CD-Pipelines für eine Vielzahl unterschiedlicher Dienste (einschließlich Azure SQL-Datenbank) automatisieren.

Wie Sie aus unserem Beispiel zum Erreichen des Busses wissen, bildet Ihre Datenbank die Grundlage Ihrer Anwendung. Wenn Sie die Datenbank aktualisieren oder dieselben Konfigurationen automatisch für eine neue Datenbank bereitstellen möchten, können Sie GitHub Actions verwenden.

Für die Automatisierung von Updates müssen Sie GitHub-Geheimnisse und eine YAML-Datei konfigurieren. Anschließend werden beim Pushen neuer Commits Workflows ausgelöst, die wiederum Ihre Azure SQL-Datenbank oder andere Dienste aktualisieren.

Sicheres Konfigurieren von Geheimnissen mit GitHub

GitHub-Geheimnisse bieten eine sichere Methode zum Speichern von Geheimnissen, Schlüsseln und anderen vertraulichen Informationen in GitHub. In diesem Abschnitt erstellen Sie ein neues GitHub-Geheimnis, das die Verbindungszeichenfolge Ihrer Azure SQL-Datenbank-Instanz enthält.

  1. Bestimmen Sie in einer Textdatei, in einem Editor oder auf Papier die Verbindungszeichenfolge für Ihre Azure SQL-Datenbank-Instanz. Diese Zeichenfolge sollte in etwa wie folgt aussehen: Server=<server-name>.database.windows.net,1433;Initial Catalog=bus-db;User Id=cloudadmin;Password=<your-password>;Connection Timeout=30;

  2. Navigieren Sie für dieses Modul auf GitHub zu Ihrem Repository. Dazu müssen Sie angemeldet sein. Dies sollte Folgendem ähneln: https://github.com/<your-git-username>/serverless-full-stack-apps-azure-sql

  3. Öffnen Sie die Einstellungen für das Repository.

  4. Wählen Sie Geheimnisse und Variablen>Aktionen>Neues Repositorygeheimnis aus, und geben Sie die folgenden Informationen ein:

    1. Name: AZURE_SQL_CONNECTION_STRING
    2. Secret (Geheimnis): Verbindungszeichenfolge aus dem vorherigen Schritt
  5. Klicken Sie auf Add secret (Geheimnis hinzufügen).

Konfigurieren der YAML-Datei für GitHub Actions

Im Coderepository sind mehrere YAML-Vorlagendateien verfügbar. Für dieses Modul verwenden Sie lediglich die Workflowdatei für Azure SQL-Datenbank.

  1. Wählen Sie in Visual Studio Code auf der Aktivitätsleiste das Symbol Explorer aus, um die Repositorydateien anzuzeigen. Wenn diese nicht angezeigt werden, wählen Sie Datei>Ordner öffnen aus, und navigieren Sie zu dem Speicherort, an dem Sie das Repository geklont haben.

  2. Benennen Sie im Ordner .github\workflows die Datei azuresqldatabase.yml.template in azuresqldatabase.yml um.

  3. Sehen Sie sich die Vorlage an, um herauszufinden, welche Schritte der Workflow ausführt und wie die Datenbank aktualisiert wird.

Pushen von Commits und Überwachen von Ergebnissen mit Visual Studio Code und GitHub

Nachdem Ihr GitHub-Geheimnis und die Workflowdatei konfiguriert wurden, können Sie Ihre Commits pushen und den Workflow beobachten.

  1. Wählen Sie auf der Aktivitätsleiste das Symbol Quellcodeverwaltung aus.

  2. Geben Sie im Feld Nachricht den Text „Enable database yaml“ oder eine andere Nachricht ein.

  3. Klicken Sie auf das Häkchen. Wenn Sie eine Warnung erhalten, dass der Commit erfolgt, ohne Dateien zu stagen, können Sie Ja auswählen, um die geänderten Dateien zu stagen.

  4. Wählen Sie ...>Push aus. Ihre Updates werden an das auf GitHub gehostete Repository gepusht, und alle definierten GitHub Actions-Aktionen werden gestartet.

    Wichtig

    Wenn eine Anmeldeaufforderung angezeigt wird, verwenden Sie Ihren GitHub-Benutzernamen und rufen ein persönliches Zugriffstoken ab, das Sie anstelle Ihres GitHub-Kennworts angeben. Navigieren Sie dazu zu https://github.com/settings/tokens/new. Fügen Sie eine VSCode-Notiz hinzu, aktivieren Sie alle Kontrollkästchen, und wählen Sie Generate token (Token generieren) aus. Kopieren Sie den Tokentext, und speichern Sie ihn an einem sicheren Ort. Wechseln Sie wieder zu Visual Studio Code, und verwenden Sie das Token als Kennwort/Token, um sich bei GitHub zu anzumelden.

  5. Navigieren Sie zu Ihrem GitHub-Repository für dieses Modul, und wählen Sie Aktionen aus. Mit GitHub Actions können Sie Ihre Softwareentwicklungsworkflows direkt in Ihrem Repository automatisieren, anpassen und ausführen.

  6. Sehen Sie sich den Inhalt des Workflows an, der ausgeführt wird (oder abgeschlossen wurde). Beachten Sie, wie die Azure SQL-Aktion die .dacpac-Datei in Ihrem Repository verwendet, um den endgültigen Zustand der Datenbank für Ihre Azure SQL-Datenbank-Instanz bereitzustellen.