Distribuzione continua in Azure con Visual Studio e Git con ASP.NET CoreContinuous deployment to Azure with Visual Studio and Git with ASP.NET Core

Di Erik ReitanBy Erik Reitan

Importante

Versioni di anteprima di ASP.NET Core con il Servizio app di AzureASP.NET Core preview releases with Azure App Service

Le versioni di anteprima di ASP.NET Core non sono distribuite al Servizio app di Azure per impostazione predefinita.ASP.NET Core preview releases aren't deployed to Azure App Service by default. Per ospitare un'applicazione che usa una versione di anteprima di ASP.NET Core, vedere Distribuire la versione di anteprima di ASP.NET Core in Servizio app di Azure.To host an app that uses an ASP.NET Core preview release, see Deploy ASP.NET Core preview release to Azure App Service.

Questa esercitazione mostra come creare un'app Web ASP.NET Core tramite Visual Studio e distribuirla da Visual Studio nel Servizio app di Azure, usando Git la distribuzione continua.This tutorial shows how to create an ASP.NET Core web app using Visual Studio and deploy it from Visual Studio to Azure App Service using continuous deployment.

Vedere anche l'articolo Creare la prima pipeline con Azure Pipelines, che illustra come configurare un flusso di lavoro di recapito continuo per il Servizio app di Azure usando Azure DevOps Services.See also Create your first pipeline with Azure Pipelines, which shows how to configure a continuous delivery (CD) workflow for Azure App Service using Azure DevOps Services. Azure Pipelines (un servizio di Azure DevOps Services) semplifica la configurazione di una pipeline di distribuzione solida per pubblicare gli aggiornamenti per le app ospitate nel Servizio app di Azure.Azure Pipelines (an Azure DevOps Services service) simplifies setting up a robust deployment pipeline to publish updates for apps hosted in Azure App Service. È possibile configurare la pipeline dal portale di Azure per compilare, eseguire i test, distribuire in uno slot di staging e quindi distribuire nell'ambiente di produzione.The pipeline can be configured from the Azure portal to build, run tests, deploy to a staging slot, and then deploy to production.

Nota

Per completare questa esercitazione, è necessario un account di Microsoft Azure.To complete this tutorial, a Microsoft Azure account is required. Per ottenere un account, attivare i benefici per il sottoscrittore MSDN o iscriversi per una versione di valutazione gratuita.To obtain an account, activate MSDN subscriber benefits or sign up for a free trial.

PrerequisitiPrerequisites

In questa esercitazione si presuppone che sia stato installato il software seguente:This tutorial assumes the following software is installed:

Creare un'app Web ASP.NET CoreCreate an ASP.NET Core web app

  1. Avviare Visual Studio.Start Visual Studio.

  2. Scegliere Nuovo > Progetto dal menu File.From the File menu, select New > Project.

  3. Selezionare il modello di progetto Applicazione Web ASP.NET Core.Select the ASP.NET Core Web Application project template. Viene visualizzato in Modelli > installati > Visual C# > .NET Core.It appears under Installed > Templates > Visual C# > .NET Core. Denominare il progetto SampleWebAppDemo.Name the project SampleWebAppDemo. Selezionare l'opzione Crea nuovo repository Git e fare clic su OK.Select the Create new Git repository option and click OK.

    Finestra di dialogo Nuovo progetto

  4. Nella finestra di dialogo Nuovo progetto ASP.NET Core selezionare il modello ASP.NET Core Vuoto e quindi fare clic su OK.In the New ASP.NET Core Project dialog, select the ASP.NET Core Empty template, then click OK.

    Finestra di dialogo Nuovo progetto ASP.NET Core

Nota

La versione più recente di .NET Core è la 2.0.The most recent release of .NET Core is 2.0.

Esecuzione dell'applicazione Web in localeRunning the web app locally

  1. Una volta terminata la creazione dell'app da parte di Visual Studio, eseguire l'app selezionando Debug > Avvia l'esecuzione del debug.Once Visual Studio finishes creating the app, run the app by selecting Debug > Start Debugging. In alternativa, premere F5.As an alternative, press F5.

    L'inizializzazione di Visual Studio e della nuova app potrebbe richiedere tempo.It may take time to initialize Visual Studio and the new app. Una volta completata, il browser visualizzerà l'app in esecuzione.Once it's complete, the browser shows the running app.

    La finestra del browser mostra l'applicazione in esecuzione che visualizza "Hello World!"

  2. Dopo aver revisionato l'app Web in esecuzione, chiudere il browser e selezionare l'icona "Interrompi l'esecuzione del debug" nella barra degli strumenti di Visual Studio per arrestare l'app.After reviewing the running Web app, close the browser and select the "Stop Debugging" icon in the toolbar of Visual Studio to stop the app.

Creare un'app web nel portale di AzureCreate a web app in the Azure Portal

Eseguire i passaggi seguenti per creare un'app Web nel portale di Azure:The following steps create a web app in the Azure Portal:

  1. Accedere al portale di Azure.Log in to the Azure Portal.

  2. Selezionare NUOVO nella parte superiore sinistra dell'interfaccia del portale.Select NEW at the top left of the portal interface.

  3. Selezionare Web e dispositivi mobili > App Web.Select Web + Mobile > Web App.

    Portale di Microsoft Azure: Pulsante Nuovo: Web e dispositivi mobili in Marketplace: Pulsante App Web in App in primo piano

  4. Nel pannello App Web immettere un valore univoco per il Nome del servizio App.In the Web App blade, enter a unique value for the App Service Name.

    Pannello App Web

    Nota

    Il nome Nome del servizio app deve essere univoco.The App Service Name name must be unique. Il portale applica questa regola quando viene specificato il nome.The portal enforces this rule when the name is provided. Se si specifica un valore diverso, sostituire tale valore per ogni occorrenza di SampleWebAppDemo in questa esercitazione.If providing a different value, substitute that value for each occurrence of SampleWebAppDemo in this tutorial.

    Anche nel pannello App Web, selezionare una Posizione/piano di servizio App o crearne uno nuovo.Also in the Web App blade, select an existing App Service Plan/Location or create a new one. Se si crea un nuovo piano, selezionare il piano tariffario, la posizione e altre opzioni.If creating a new plan, select the pricing tier, location, and other options. Per altre informazioni sui piani di Servizio app, vedere Panoramica di approfondimento dei piani del Servizio App di Azure.For more information on App Service plans, see Azure App Service plans in-depth overview.

  5. Scegliere Crea.Select Create. Azure eseguirà il provisioning e avvierà l'app Web.Azure will provision and start the web app.

    Portale di Azure: pannello Essentials di Sample Web App Demo 01

Abilitare la pubblicazione di Git per la nuova app webEnable Git publishing for the new web app

Git è un sistema di controllo della versione distribuito che è possibile usare per distribuire un'app Web di Servizio app di Azure.Git is a distributed version control system that can be used to deploy an Azure App Service web app. Il codice dell'app Web è archiviato in un repository Git locale e viene distribuito in Azure eseguendone il push in un repository remoto.Web app code is stored in a local Git repository, and the code is deployed to Azure by pushing to a remote repository.

  1. Accedere al portale di Azure.Log into the Azure Portal.

  2. Selezionare Servizi app per visualizzare un elenco dei servizi app associati alla sottoscrizione di Azure.Select App Services to view a list of the app services associated with the Azure subscription.

  3. Selezionare l'app Web che è stata creata nella sezione precedente di questa esercitazione.Select the web app created in the previous section of this tutorial.

  4. Nel pannello Distribuzione selezionare Opzioni di distribuzione > Scegli origine > Repository Git locale.In the Deployment blade, select Deployment options > Choose Source > Local Git Repository.

    Pannello Impostazioni: pannello Origine distribuzione: pannello Scegli origine

  5. Scegliere OK.Select OK.

  6. Se le credenziali di distribuzione per la pubblicazione di un'app Web o di altri servizi app Web non sono state precedentemente configurate, impostarle ora:If deployment credentials for publishing a web app or other App Service app haven't previously been set up, set them up now:

    • Selezionare Impostazioni > Credenziali per la distribuzione.Select Settings > Deployment credentials. Verrà visualizzato il pannello Imposta credenziali di distribuzione.The Set deployment credentials blade is displayed.
    • Creare un nome utente e una password.Create a user name and password. Salvare la password per un uso successivo durante la configurazione di Git.Save the password for later use when setting up Git.
    • Selezionare Salva.Select Save.
  7. Nel pannello App Web selezionare Impostazioni > Proprietà.In the Web App blade, select Settings > Properties. L'URL del repository Git remoto che verrà distribuito è visualizzato in URL GIT.The URL of the remote Git repository to deploy to is shown under GIT URL.

  8. Copiare il valore URL GIT per un uso successivo nell'esercitazione.Copy the GIT URL value for later use in the tutorial.

    Portale di Azure: pannello Proprietà dell'applicazione

Pubblicare l'app Web nel servizio app di AzurePublish the web app to Azure App Service

In questa sezione si creerà un repository Git locale tramite Visual Studio e si eseguirà il push da tale repository in Azure per distribuire l'app Web.In this section, create a local Git repository using Visual Studio and push from that repository to Azure to deploy the web app. La procedura coinvolta include quanto segue:The steps involved include the following:

  • Aggiungere l'impostazione del repository remoto tramite il valore di URL GIT, in modo da poter distribuire il repository locale in Azure.Add the remote repository setting using the GIT URL value, so the local repository can be deployed to Azure.
  • Eseguire il commit delle modifiche del progetto.Commit project changes.
  • Effettuare il push delle modifiche di progetto dal repository locale al repository remoto in Azure.Push project changes from the local repository to the remote repository on Azure.
  1. In Esplora soluzioni fare clic con il tasto destro del mouse su Soluzione "SampleWebAppDemo" e selezionare Commit.In Solution Explorer right-click Solution 'SampleWebAppDemo' and select Commit. Verrà visualizzato Team Explorer.The Team Explorer is displayed.

    Scheda di connessione Team Explorer

  2. In Team Explorer selezionare la Home (icona home) > Impostazioni > Impostazioni del Repository.In Team Explorer, select the Home (home icon) > Settings > Repository Settings.

  3. Nella sezione Elementi remoti di Impostazioni repository selezionare Aggiungi.In the Remotes section of the Repository Settings, select Add. Verrà visualizzata la finestra di dialogo Aggiungi elemento remoto.The Add Remote dialog box is displayed.

  4. Impostare il Nome del repository remoto da Azure SampleApp.Set the Name of the remote to Azure-SampleApp.

  5. Impostare il valore per Recupero sull'URL Git precedentemente copiato da Azure in questa esercitazione.Set the value for Fetch to the Git URL that copied from Azure earlier in this tutorial. Si noti che questo è l'URL che termina con .git.Note that this is the URL that ends with .git.

    Modifica finestra di dialogo remota

    Nota

    In alternativa, specificare il repository remoto dalla Finestra di comando aprendo la Finestra di comando, passando alla directory del progetto e immettendo il comando.As an alternative, specify the remote repository from the Command Window by opening the Command Window, changing to the project directory, and entering the command. Esempio:Example:

    git remote add Azure-SampleApp https://me@sampleapp.scm.azurewebsites.net:443/SampleApp.git

  6. Selezionare la Home (icona home) > Impostazioni > Impostazioni globali.Select the Home (home icon) > Settings > Global Settings. Verificare che il nome e l'indirizzo e-mail siano impostati.Confirm that the name and email address are set. Selezionare Aggiorna, se necessario.Select Update if required.

  7. Selezionare Home > Modifiche da restituire alla vista Modifiche.Select Home > Changes to return to the Changes view.

  8. Immettere un messaggio di commit, ad esempio Push iniziale #1 e selezionare Commit.Enter a commit message, such as Initial Push #1 and select Commit. Questa azione consente di creare un commit a livello locale.This action creates a commit locally.

    Scheda di connessione Team Explorer

    Nota

    In alternativa, eseguire il commit delle modifiche dalla Finestra di comando aprendo la Finestra di comando, passando alla directory del progetto e immettendo i comandi Git.As an alternative, commit changes from the Command Window by opening the Command Window, changing to the project directory, and entering the git commands. Esempio:Example:

    git add .

    git commit -am "Initial Push #1"

  9. Selezionare Home > Sincronizzazione > Azioni > Aprire il prompt dei comandi.Select Home > Sync > Actions > Open Command Prompt. Verrà aperto il prompt dei comandi nella directory del progetto.The command prompt opens to the project directory.

  10. Immettere il comando seguente nella finestra Comando:Enter the following command in the command window:

    git push -u Azure-SampleApp master

  11. Immettere la password delle credenziali di distribuzione di Azure creata precedentemente in Azure.Enter the Azure deployment credentials password created earlier in Azure.

    Questo comando avvia il processo di esecuzione del push dei file di progetto locali in Azure.This command starts the process of pushing the local project files to Azure. L'output del comando precedente termina con un messaggio che indica che la distribuzione ha avuto esito positivo.The output from the above command ends with a message that the deployment was successful.

    remote: Finished successfully.
    remote: Running post deployment command(s)...
    remote: Deployment successful.
    To https://username@samplewebappdemo01.scm.azurewebsites.net:443/SampleWebAppDemo01.git
    * [new branch]      master -> master
    Branch master set up to track remote branch master from Azure-SampleApp.
    

    Nota

    Se è necessaria la collaborazione sul progetto, valutare se eseguire il push in GitHub prima del push in Azure.If collaboration on the project is required, consider pushing to GitHub before pushing to Azure.

Verificare la distribuzione attivaVerify the Active Deployment

Verificare che il trasferimento dell'app Web dall'ambiente locale in Azure abbia esito positivo.Verify that the web app transfer from the local environment to Azure is successful.

Nel portale di Azure selezionare l'app Web.In the Azure Portal, select the web app. Selezionare Distribuzione > Opzioni di distribuzione.Select Deployment > Deployment options.

Portale di Azure: Pannello Impostazioni: pannello di distribuzione che visualizza la distribuzione completata

Eseguire l'app in AzureRun the app in Azure

Ora che l'app Web è distribuita in Azure, eseguire l'app.Now that the web app is deployed to Azure, run the app.

Questa operazione può essere eseguita in due modi:This can be accomplished in two ways:

  • Nel portale di Azure individuare il pannello dell'app Web per l'app Web.In the Azure Portal, locate the web app blade for the web app. Selezionare Sfoglia per visualizzare l'app nel browser predefinito.Select Browse to view the app in the default browser.
  • Aprire un browser e immettere l'URL per l'app Web.Open a browser and enter the URL for the web app. Esempio: http://SampleWebAppDemo.azurewebsites.netExample: http://SampleWebAppDemo.azurewebsites.net

Aggiornare l'app Web e ripetere la pubblicazioneUpdate the web app and republish

Dopo aver apportato modifiche al codice locale, ripetere la pubblicazione:After making changes to the local code, republish:

  1. In Esplora soluzioni di Visual Studio aprire il file Startup.cs.In Solution Explorer of Visual Studio, open the Startup.cs file.

  2. Nel metodo Configure modificare il metodo Response.WriteAsync in modo che venga visualizzato nel seguente modo:In the Configure method, modify the Response.WriteAsync method so that it appears as follows:

    await context.Response.WriteAsync("Hello World! Deploy to Azure.");
    
  3. Salvare le modifiche a Startup.cs.Save the changes to Startup.cs.

  4. In Esplora soluzioni fare clic con il tasto destro del mouse su Soluzione "SampleWebAppDemo" e selezionare Commit.In Solution Explorer, right-click Solution 'SampleWebAppDemo' and select Commit. Verrà visualizzato Team Explorer.The Team Explorer is displayed.

  5. Immettere un messaggio per il commit, ad esempio Update #2.Enter a commit message, such as Update #2.

  6. Premere il pulsante Commit per salvare le modifiche del progetto.Press the Commit button to commit the project changes.

  7. Selezionare Home > Sincronizzazione > Azioni > Push.Select Home > Sync > Actions > Push.

Nota

In alternativa, eseguire il push delle modifiche dalla Finestra di comando aprendo la Finestra di comando, passando alla directory del progetto e immettendo un comando Git.As an alternative, push the changes from the Command Window by opening the Command Window, changing to the project directory, and entering a git command. Esempio:Example:

git push -u Azure-SampleApp master

Visualizzare l'app web aggiornata in AzureView the updated web app in Azure

Visualizzare l'app Web aggiornata selezionando Sfoglia dal pannello dell'app Web nel portale di Azure o aprendo un browser e immettendo l'URL per l'app Web.View the updated web app by selecting Browse from the web app blade in the Azure Portal or by opening a browser and entering the URL for the web app. Esempio: http://SampleWebAppDemo.azurewebsites.netExample: http://SampleWebAppDemo.azurewebsites.net

Risorse aggiuntiveAdditional resources