Esercizio - Configurare l'ambiente

Completato

Il team ha lentamente integrato una strategia di DevOps nei propri processi. In questa sezione è possibile assicurarsi che l'ambiente rispecchi il lavoro svolto dal team.

A tale scopo, eseguire l'operazione seguente:

  • Aggiungere un utente per assicurarsi che Azure DevOps possa connettersi alla sottoscrizione di Azure.
  • Configurare un progetto Azure DevOps per questo modulo.
  • Aggiungere la pipeline di compilazione.

Aggiungere un utente ad Azure DevOps

Per completare questo modulo, è necessaria una sottoscrizione di Azure. È possibile iniziare a usare Azure gratuitamente.

Anche se non è necessaria una sottoscrizione di Azure per usare Azure DevOps, in questo modulo si userà Azure DevOps per eseguire la distribuzione in risorse di Azure presenti in una sottoscrizione di Azure. Per semplificare il processo, accedere alla sottoscrizione di Azure e all'organizzazione Azure DevOps con lo stesso account Microsoft.

Se si usano account Microsoft diversi per accedere ad Azure e ad Azure DevOps, aggiungere un utente all'organizzazione DevOps nell'account Microsoft usato per accedere ad Azure. Per altre informazioni, vedere Aggiungere utenti dell'organizzazione e gestire l'accesso. Quando si aggiunge l'utente, scegliere il livello di accesso Basic.

Disconnettersi quindi da Azure DevOps e accedere di nuovo con l'account Microsoft usato per accedere all’abbonamento di Azure.

Ottenere il progetto Azure DevOps

Assicurarsi che l'organizzazione Azure DevOps sia configurata per completare il resto di questo modulo. A questo scopo, eseguire un modello per la creazione di un progetto in Azure DevOps.

I moduli di questo percorso di apprendimento, ordinati in successione, consentono di seguire il team Web Tailspin nel viaggio alla scoperta di DevOps. Ai fini dell'apprendimento, a ogni modulo è associato un progetto Azure DevOps.

Eseguire il modello

Eseguire un modello che configura automaticamente tutti gli aspetti dell'organizzazione Azure DevOps.

Nel sito Demo Generator di Azure DevOps seguire questa procedura per eseguire il modello:

  1. Selezionare Accedi e accettare le condizioni d’uso.

  2. Nella pagina Crea nuovo progetto selezionare l'organizzazione Azure DevOps e immettere un nome di progetto, ad esempio Space Game - Web - Versione.

    Screenshot of the Azure DevOps Demo Generator web site showing the process to create the project.

  3. Selezionare Yes, I want to fork this repository (Sì, desidero creare una copia tramite fork di questo repository) >Autorizza. Se viene visualizzata una finestra, autorizzare l'accesso all'account GitHub.

    Importante

    È necessario selezionare questa opzione per connettere il modello al repository GitHub. Selezionare questa opzione anche se è già stata creata una copia tramite fork del progetto del sito Web di Space Game. Il modello usa il fork esistente.

  4. Selezionare Crea progetto. L'esecuzione del modello richiede qualche secondo.

  5. Selezionare Passa al progetto per passare al progetto in Azure DevOps.

Importante

La pagina Eseguire la pulizia dell'ambiente Azure DevOps di questo modulo contiene una procedura di pulizia importante. La pulizia consente di assicurarsi che i minuti di compilazione gratuiti non si esauriscano. Assicurarsi di eseguire la procedura di pulizia anche se non si completa questo modulo.

Impostare la visibilità del progetto

Inizialmente, la copia tramite fork del repository Space Game in GitHub è impostata su pubblica mentre il progetto creato dal modello Azure DevOps è impostato su privato. Un repository pubblico in GitHub può essere accessibile da chiunque, mentre un repository privato è accessibile solo all'utente e alle persone con cui si sceglie di condividerlo. Analogamente, in Azure DevOps, i progetti pubblici forniscono l'accesso in sola lettura agli utenti non autenticati, mentre i progetti privati richiedono l'accesso e l'autenticazione degli utenti per accedere ai servizi.

Al momento, non è necessario modificare alcuna di queste impostazioni ai fini di questo modulo. Tuttavia, per i progetti personali, è necessario determinare la visibilità e l'accesso che si desidera concedere ad altri utenti. Ad esempio, se il progetto è open source, è possibile rendere pubblici il repository GitHub e il progetto Azure DevOps. Se il progetto è closed source, probabilmente si preferirà che il repository GitHub e il progetto DevOps di Azure siano privati.

Più avanti, è possibile trovare le risorse seguenti utili per determinare quale opzione è migliore per il progetto:

Preparare Visual Studio Code

Configurare Visual Studio Code in modo da poter creare il sito Web in locale e usare i file di origine.

Visual Studio Code include un terminale integrato per poter modificare i file e lavorare dalla riga di comando, da un'unica posizione.

  1. Avviare Visual Studio Code.

  2. Selezionare Terminale e quindi Nuovo terminale.

  3. Nell'elenco a discesa selezionare Git bash. Se si preferisce usare un'altra shell Unix con cui si ha più familiarità, ad esempio Zsh, selezionare la shell desiderata. Git per Windows offre Git Bash, che semplifica l'esecuzione di comandi Git.

    Nota

    In Windows, se Git Bash non è elencato come opzione, assicurarsi di aver installato Git e quindi riavviare Visual Studio Code.

  4. Eseguire il comando seguente per passare alla home directory.

    cd ~
    

Configurazione di Git

Se non si ha familiarità con Git e GitHub, è necessario eseguire prima alcuni comandi per associare l'identità a Git ed eseguire l'autenticazione con GitHub. Per altre informazioni, vedere Configurare Git.

È necessario completare almeno i passaggi seguenti:

  1. Scaricare e installare la versione più recente di Git.
  2. Impostare il nome utente.
  3. Impostare l'indirizzo di posta elettronica di commit.

Nota

Se si usa già l'autenticazione a due fattori con GitHub, creare un token di accesso personale. Quando richiesto, usare il token al posto della password.

Considerare il token di accesso come una password e conservarlo in un luogo sicuro.

Configurare il progetto in Visual Studio Code

Quando è stato eseguito il modello per configurare il progetto Azure DevOps, il processo ha creato automaticamente il fork del repository mslearn-tailspin-spacegame-web-deploy. A questo punto, è possibile scaricare o clonare una copia nel computer per poterla usare.

Clonare il fork in locale

  1. In GitHub passare al fork del progetto Web Space Game (mslearn-tailspin-spacegame-web-deploy).

  2. Selezionare Codice e quindi nella scheda HTTPS selezionare il pulsante Copia per copiare l'URL negli Appunti.

    Screenshot that shows how to locate the URL and copy button from the GitHub repository.

  3. In Visual Studio Code passare alla finestra del terminale aperta in precedenza.

  4. Eseguire il comando git clone. Sostituire l'URL visualizzato in questa sezione con il contenuto degli Appunti:

    git clone https://github.com/your-name/mslearn-tailspin-spacegame-web-deploy.git
    
  5. Passare alla directory mslearn-tailspin-spacegame-web-deploy, ossia la directory radice del repository.

    cd mslearn-tailspin-spacegame-web-deploy
    

Impostare il repository remoto upstream

Un repository remoto è un repository Git in cui i membri del team collaborano (come un repository in GitHub). Qui sono elencati i repository remoti ed è possibile aggiungerne uno che punta alla copia Microsoft del repository in modo che sia possibile ottenere il codice di esempio più recente.

  1. Eseguire il comando seguente per elencare i remote:

    git remote -v
    

    Si noterà che sono disponibili sia l'accesso di recupero (download) che l'accesso push (caricamento) al repository:

    origin  https://github.com/username/mslearn-tailspin-spacegame-web-deploy.git (fetch)
    origin  https://github.com/username/mslearn-tailspin-spacegame-web-deploy.git (push)
    

    Origin specifica il repository in GitHub. Quando si crea una copia del codice tramite fork da un altro repository, il repository remoto originale (quello da cui è stata eseguita la copia tramite fork) viene spesso denominato upstream.

  2. Eseguire il comando seguente per creare un repository remoto denominato upstream che punta al repository Microsoft:

    git remote add upstream https://github.com/MicrosoftDocs/mslearn-tailspin-spacegame-web-deploy.git
    
  3. Eseguire git remote una seconda volta per visualizzare le modifiche:

    git remote -v
    

    Si noterà che sono ancora disponibili sia l'accesso di tipo fetch (download) sia quello di tipo push (upload) al repository. Sarà inoltre disponibile l'accesso di recupero al repository Microsoft:

    origin  https://github.com/username/mslearn-tailspin-spacegame-web-deploy.git (fetch)
    origin  https://github.com/username/mslearn-tailspin-spacegame-web-deploy.git (push)
    upstream        https://github.com/MicrosoftDocs/mslearn-tailspin-spacegame-web-deploy.git (fetch)
    upstream        https://github.com/MicrosoftDocs/mslearn-tailspin-spacegame-web-deploy.git (push)
    

Aprire il progetto in Visual Studio Code

  1. Eseguire il comando seguente dalla directory radice del progetto.

    code .
    
  2. Riaprire il terminale integrato. Il terminale posiziona l'utente alla radice del progetto Web.

Se il comando code non riesce, è necessario aggiungere Visual Studio Code al percorso di sistema. A questo scopo:

  1. In Visual Studio Code premere F1 o selezionare Visualizza>Riquadro comandi per accedere al riquadro comandi.
  2. Nella casella di ricerca digitare shell command per trovare il comando Shell Command: Install 'code' command in PATH.
  3. Riavviare il terminale per rendere effettivo il nuovo valore di PATH.

A questo punto, è possibile usare il codice sorgente di Space Game e la configurazione di Azure Pipelines dall'ambiente di sviluppo locale.

Recuperare il ramo da GitHub

  1. Aprire il terminale integrato in Visual Studio Code.

  2. Eseguire i comandi seguenti per recuperare il ramo della pipeline di rilascio dal repository MicrosoftDocs e selezionare un nuovo ramo upstream/release-pipeline.

    git fetch upstream release-pipeline
    git checkout -B release-pipeline upstream/release-pipeline
    
  3. Come passaggio facoltativo, in Visual Studio Code aprire azure-pipelines.yml e acquisire familiarità con la configurazione iniziale.

Eseguire la pipeline

A questo punto, saranno disponibili:

  • Fork del repository mslearn-tailspin-spacegame-web-deploy nell'account GitHub.
  • Repository mslearn-tailspin-spacegame-web-deploy clonato in locale.
  • Un ramo denominato release-pipeline che contiene il codice sorgente del sito Web e una configurazione di Azure Pipelines iniziale.

Attivare quindi manualmente la pipeline per l'esecuzione. Questo passaggio garantisce che il progetto sia configurato per la compilazione dal repository GitHub. La configurazione iniziale della pipeline compila l'applicazione e produce un artefatto di compilazione.

  1. Passare al progetto in Azure Devops e quindi selezionare Pipeline.

  2. Selezionare la pipeline mslearn-tailspin-spacegame-web-deploy. Se richiesto, assicurarsi di selezionare Autorizzare le risorse per autorizzare la connessione al servizio.

    Screenshot of Azure Pipelines showing the pipeline for this project. The pipeline has no runs.

  3. Selezionare Esegui pipeline e quindi selezionare il ramo della pipeline di rilascio dal menu a discesa Branch/tag. Selezionare Esegui.

    Screenshot of Azure Pipelines showing the location of the Run pipeline button.

  4. Nella pagina Riepilogo selezionare il processo della pipeline per visualizzare i log.

    Screenshot of Azure Pipelines showing the running job.

  5. Al termine della compilazione, fare clic sul pulsante Indietro per tornare alla pagina di riepilogo.

    Screenshot of Azure Pipelines showing how to navigate to the summary page.

  6. Selezionare l'artefatto pubblicato.

    Screenshot of Azure Pipelines showing the location of the link to the published artifact.

  7. L Tailspin.Space.Game.Web.zip è l'artefatto di compilazione. Questo file contiene l'applicazione compilata e le relative dipendenze.

    Screenshot of Azure Pipelines showing the published artifact. The artifact includes a .zip file.

A questo punto è disponibile una pipeline di compilazione per il progetto Web Space Game. Successivamente, si aggiungerà una fase di distribuzione per distribuire l'artefatto di compilazione in Servizio app di Azure.