Esercizio - Automatizzare gli aggiornamenti con GitHub Actions

Completato

GitHub Actions consente di automatizzare le pipeline CI/CD per molti servizi diversi, tra cui database SQL di Azure.

Nello scenario in cui una persona deve prendere un autobus si creano le basi dell'applicazione con il database. Per aggiornare il database o distribuire le stesse configurazioni automaticamente in un nuovo database, è possibile usare GitHub Actions.

Per automatizzare gli aggiornamenti, è necessario configurare i segreti di GitHub e un file YAML. Dopo la configurazione, i nuovi commit di cui viene eseguito il push attivano i flussi di lavoro che a loro volta aggiorneranno il database SQL di Azure o altri servizi.

Configurare i segreti in modo sicuro con GitHub

I segreti di GitHub introducono un modo per archiviare in modo sicuro segreti, chiavi e altre informazioni riservate in GitHub. In questa sezione si creerà un nuovo segreto di GitHub che include la stringa di connessione di database SQL di Azure.

  1. In un file di testo, in Blocco note o su carta determinare la stringa di connessione per il database SQL di Azure. Sarà simile a Server=<server-name>.database.windows.net,1433;Initial Catalog=bus-db;User Id=cloudadmin;Password=<your-password>;Connection Timeout=30;

  2. Passare al repository per questo modulo in GitHub (assicurarsi di avere eseguito l'accesso). Sarà simile a https://github.com/<your-git-username>/serverless-full-stack-apps-azure-sql.

  3. Selezionare Impostazioni per il repository.

  4. Selezionare Secrets and variables>Actions>New repository secret e immettere le informazioni seguenti:

    1. Nome: AZURE_SQL_CONNECTION_STRING
    2. Secret: stringa di connessione del passaggio precedente
  5. Selezionare Aggiungi segreto.

Configurare il file YAML per GitHub Actions

Nel repository del codice sono disponibili diversi file YAML del modello. Per questo modulo si userà solo il file del flusso di lavoro per il database SQL di Azure.

  1. In Visual Studio Code, selezionare l'icona Esplora sulla Barra attività per visualizzare i file del repository. Se non vengono visualizzati selezionare File>Apri cartella e passare al percorso in cui è stato clonato il repository.

  2. Nella cartella .github\workflows rinominare azuresqldatabase.yml.template in azuresqldatabase.yml.

  3. Esaminare il modello e cercare di comprendere cosa farà il flusso di lavoro e in che modo aggiornerà il database.

Eseguire il push dei commit e monitorare i risultati con Visual Studio Code e GitHub

Ora che il segreto GitHub e il file del flusso di lavoro sono configurati, è possibile eseguire il push dei commit e osservare il flusso di lavoro.

  1. Selezionare l'icona Controllo del codice sorgente sulla Barra attività.

  2. Nella casella Messaggio immettere "Abilita database YAML" o un altro messaggio.

  3. Selezionare il segno di spunta. Se viene visualizzato un avviso relativo al commit senza staging di alcun file, è possibile selezionare per preparare per il commit i file modificati.

  4. Selezionare ...>Push. In questo modo si esegue il push degli aggiornamenti nel repository ospitato in GitHub e viene avviato GitHub Actions.

    Importante

    Se viene richiesto di accedere, occorre usare il nome utente di GitHub e ottenere un token di accesso personale da specificare invece della password di GitHub. A tale scopo passare all'indirizzo https://github.com/settings/tokens/new. Aggiungere una nota VSCode, selezionare tutte le caselle e Genera token. Copiare il testo del token e archiviarlo in una posizione sicura. Tornare a Visual Studio Code, usare il token come password o token per accedere a GitHub.

  5. Passare al repository GitHub per questo modulo e selezionare Azioni. GitHub Actions consente di automatizzare, personalizzare ed eseguire i flussi di lavoro di sviluppo software direttamente nel repository.

  6. Osservare il contenuto del flusso di lavoro in esecuzione (o completato). Si noti che l’azione Azure SQL usa il file .dacpac nel repository per distribuire lo stato finale del database nel database SQL di Azure.