Condividi tramite


Pubblicazione di un servizio cloud con Visual Studio

Nota

Questo articolo si applica ad Azure Servizi cloud di Azure (supporto esteso). Questo modello di distribuzione viene ritirato il 31 marzo 2027. Per altre informazioni, vedere Aggiornamenti di Azure.

I servizi cloud di Azure fanno affidamento sulle stringhe di connessione per l'autenticazione in alcuni casi, come per gli account di archiviazione. Le stringhe di connessione e le password sono intrinsecamente non sicure a causa del rischio di esposizione o compromissione impreviste. Microsoft consiglia di usare le identità gestite per l'autenticazione e i servizi come i cluster gestiti di Service Fabric.

Visual Studio può pubblicare un'applicazione direttamente in Azure, con supporto per ambienti di gestione temporanea e di produzione di un servizio cloud. Durante la pubblicazione, selezionare l'ambiente di distribuzione e un account di archiviazione usato temporaneamente per il pacchetto di distribuzione.

Quando si sviluppa e si testa un'applicazione Azure, è possibile usare Distribuzione Web per pubblicare le modifiche in modo incrementale per i ruoli Web. Dopo aver pubblicato l'applicazione in un ambiente di distribuzione, Distribuzione Web consente di distribuire le modifiche direttamente nella macchina virtuale che esegue il ruolo Web. Non è necessario creare un pacchetto e pubblicare l'intera applicazione Azure ogni volta che si vuole aggiornare il ruolo Web per testare le modifiche. Con questo approccio, è possibile avere le modifiche del ruolo Web disponibili nel cloud per i test senza attendere che l'applicazione sia pubblicata in un ambiente di distribuzione.

Usare le procedure seguenti per pubblicare l'applicazione Azure e aggiornare un ruolo Web usando Distribuzione Web:

  • Pubblicare o creare un pacchetto di un'applicazione Azure da Visual Studio
  • Aggiornare un ruolo Web come parte del ciclo di sviluppo e test

Prerequisiti

Pubblicare o creare un pacchetto di un'applicazione Azure da Visual Studio

Quando si pubblica l'applicazione Azure, è possibile eseguire una delle attività seguenti:

  • Creare un pacchetto di servizio: è possibile usare questo pacchetto e il file di configurazione del servizio per pubblicare l'applicazione in un ambiente di distribuzione dal portale di Azure .

  • Pubblicare il progetto di Azure da Visual Studio: per pubblicare l'applicazione direttamente in Azure, usare la Pubblicazione guidata. Per informazioni, vedere Creazione guidata applicazione Azure.

Per creare un pacchetto di servizio da Visual Studio

  1. Quando si è pronti per pubblicare l'applicazione, aprire Esplora soluzioni, aprire il menu di scelta rapida per il progetto di Azure che contiene i ruoli e scegliere Pubblica.

  2. Per creare un pacchetto di servizio solo, seguire questa procedura:

    1. Nel menu di scelta rapida per il progetto di Azure scegliere Pacchetto.

    2. Nella finestra di dialogo Pacchetto applicazione Azure scegliere la configurazione del servizio per cui si vuole creare un pacchetto e quindi scegliere la configurazione di compilazione.

    3. (Facoltativo) Per attivare Desktop remoto per il servizio cloud dopo la pubblicazione, selezionare Abilita Desktop remoto per tutti i ruolie quindi selezionare Impostazioni per configurare le credenziali di Desktop remoto. Per ulteriori informazioni, vedere Abilitare la Connessione Desktop Remoto per un Ruolo nei Servizi Cloud di Azure utilizzando Visual Studio.

    4. Per creare il pacchetto, selezionare il collegamento pacchetto.

      Esplora file mostra il percorso del file del pacchetto appena creato. È possibile copiare questo percorso in modo che sia possibile usarlo dal portale di Azure.

    5. Per pubblicare questo pacchetto in un ambiente di distribuzione, è necessario usare questo percorso come percorso del pacchetto quando si crea un servizio cloud e si distribuisce questo pacchetto in un ambiente con il portale di Azure.

  3. (Facoltativo) Per annullare il processo di distribuzione, nel menu di scelta rapida della voce di riga nel registro delle attività, scegliere Annulla e rimuovere. Questo comando arresta il processo di distribuzione ed elimina l'ambiente di distribuzione da Azure. Per rimuovere l'ambiente dopo la distribuzione, usare il portale di Azure.

Aggiornare un ruolo Web come parte del ciclo di sviluppo e test

Se l'infrastruttura back-end dell'app è stabile, ma i ruoli Web richiedono un aggiornamento più frequente, è possibile usare Distribuzione Web per aggiornare solo un ruolo Web nel progetto. Distribuzione Web è utile quando non si vogliono ricompilare e ridistribuire i ruoli di lavoro back-end o se si hanno più ruoli Web e si vuole aggiornare solo uno dei ruoli Web.

Requisiti per l'uso di Web Deploy

  • Solo a scopo di sviluppo e test: Le modifiche vengono apportate direttamente alla macchina virtuale in cui è in esecuzione il ruolo Web. Se questa macchina virtuale deve essere riciclata, le modifiche andranno perse perché il pacchetto originale pubblicato viene usato per ricreare la macchina virtuale per il ruolo. Ripubblica l'applicazione per ottenere le modifiche più recenti per il ruolo web.

  • È possibile aggiornare solo i ruoli Web: non è possibile aggiornare ruoli di lavoro. Inoltre, non è possibile aggiornare il RoleEntryPoint in web role.cs.

  • può supportare solo una singola istanza di un ruolo Web: Non è possibile avere più istanze di alcun ruolo Web nell'ambiente di distribuzione. Tuttavia, sono supportati più ruoli web, ciascuno con una sola istanza.

  • Abilita connessioni Desktop remoto: Questo requisito consente a Web Deploy di utilizzare il nome utente e la password per connettersi alla macchina virtuale e distribuire le modifiche al server che esegue Internet Information Services (IIS). Potrebbe inoltre essere necessario connettersi alla macchina virtuale per aggiungere un certificato attendibile a IIS in questa macchina virtuale. Questo certificato garantisce che la connessione remota per IIS usata da Distribuzione Web sia sicura.

La procedura seguente presuppone l'uso della procedura guidata Publish Azure Application.

Abilitare distribuzione Web quando si pubblica l'applicazione

Nota

Distribuzione Web non è supportata per Servizi cloud di Azure (supporto esteso).

  1. Per abilitare l'opzione Abilita distribuzione Web per tutti i ruoli Web, è prima necessario configurare le connessioni desktop remoto. Selezionare Abilita Desktop remoto per tutti i ruoli e quindi specificare le credenziali usate per connettersi in remoto nella casella Configurazione Desktop remoto visualizzata. Consultare Abilitare la connessione Desktop Remoto per un ruolo in Servizi cloud di Azure (supporto esteso) usando Visual Studio.

  2. Per abilitare Distribuzione Web per tutti i ruoli Web nell'applicazione, selezionare Abilita distribuzione Web per tutti i ruoli Web.

    Viene visualizzato un triangolo di avviso giallo. La Distribuzione Web utilizza di default un certificato autofirmato e non attendibile, il che non è consigliato per il caricamento di dati sensibili. Se è necessario proteggere questo processo per i dati sensibili, è possibile aggiungere un certificato SSL da usare per le connessioni Di distribuzione Web. Questo certificato deve essere un certificato attendibile. Per altre informazioni, vedere Rendere sicura la distribuzione Web.

  3. Scegliere Avanti per visualizzare la schermata Riepilogo e quindi scegliere Pubblica per distribuire il servizio cloud.

    Il servizio cloud viene pubblicato. La macchina virtuale creata dispone di connessioni remote abilitate per IIS in modo che Distribuzione Web possa essere usata per aggiornare i ruoli Web senza ripubblicarli.

    Nota

    Se sono state configurate più istanze per un ruolo Web, viene visualizzato un messaggio di avviso che informa che ogni ruolo Web è limitato a un'istanza solo nel pacchetto creato per pubblicare l'applicazione. Selezionare OK per continuare. Come indicato nella sezione Requisiti, è possibile avere più di un ruolo Web, ma solo un'istanza di ogni ruolo.

Aggiorna il ruolo web utilizzando Web Deploy

  1. Per utilizzare Web Deploy, apportare modifiche al codice del progetto per qualsiasi dei tuoi ruoli Web in Visual Studio che desideri pubblicare, quindi fare clic con il tasto destro su questo nodo del progetto nella tua soluzione e scegliere Pubblica. Viene visualizzata la finestra di dialogo Pubblica Web.

  2. (Facoltativo) Se è stato aggiunto un certificato SSL attendibile da usare per le connessioni remote per IIS, è possibile deselezionare la casella di controllo Consenti certificato non attendibile. Per informazioni su come aggiungere un certificato per rendere Web Deploy sicuro, vedere la sezione Per rendere la distribuzione Web sicura più avanti in questo articolo.

  3. Per usare Web Deploy, il meccanismo di pubblicazione richiede il nome utente e la password che hai configurato per la connessione Desktop Remoto quando hai pubblicato per la prima volta il pacchetto.

    1. In Nome utenteimmettere il nome utente.

    2. In Passwordimmettere la password.

    3. (Facoltativo) Per salvare la password in questo profilo, scegliere Salva password.

  4. Per pubblicare le modifiche apportate al ruolo Web, scegliere Pubblica.

    La riga di stato visualizza Pubblicazione avviata. Al termine della pubblicazione, viene visualizzata Pubblicazione riuscita. Le modifiche sono state ora implementate nel ruolo Web sulla tua macchina virtuale. È ora possibile avviare l'applicazione Azure nell'ambiente Azure per testare le modifiche.

Rendere sicura la distribuzione Web

  1. La Distribuzione Web utilizza di default un certificato autofirmato e non attendibile, il che non è consigliato per il caricamento di dati sensibili. Se è necessario proteggere questo processo per i dati sensibili, è possibile aggiungere un certificato SSL da usare per le connessioni Di distribuzione Web. Questo certificato deve essere un certificato attendibile, ottenuto da un'autorità di certificazione (CA).

    Per proteggere Distribuzione Web per ogni macchina virtuale per ogni ruolo Web, è necessario caricare il certificato attendibile da usare per la distribuzione Web nel portale di Azure. Questo certificato assicura che il certificato venga aggiunto alla macchina virtuale creata per il ruolo Web quando si pubblica l'applicazione.

  2. Per aggiungere un certificato SSL attendibile a IIS da usare per le connessioni remote, seguire questa procedura:

    1. Per connettersi alla macchina virtuale che esegue il ruolo Web, selezionare l'istanza del ruolo Web in Cloud Explorer o Server Explorer, quindi scegliere il comando Connetti utilizzando Desktop Remoto. Per informazioni dettagliate su come connettersi alla macchina virtuale, vedere Abilitare Connessione Desktop Remoto per un ruolo nei Servizi Cloud di Azure (supporto esteso) usando il software Visual Studio. Il browser richiede di scaricare un file .rdp.

    2. Per aggiungere un certificato SSL, aprire il servizio di gestione in Gestione IIS. In Gestione IIS, è necessario abilitare SSL aprendo il collegamento Bindings nel riquadro Action. Viene visualizzata la finestra di dialogo Aggiungi associazione sito. Scegliere Aggiungie quindi scegliere HTTPS nell'elenco a discesa del tipo. Nell'elenco certificato SSL scegliere il certificato SSL firmato da una CA e caricato nel portale di Azure. Per altre informazioni, vedere Configurare le impostazioni di connessione per il servizio di gestione.

      Nota

      Se si aggiunge un certificato SSL attendibile, il triangolo di avviso giallo non viene più visualizzato nella Pubblicazione Guidata.

Includere i file nel pacchetto del servizio

Potrebbe essere necessario includere file specifici nel pacchetto del servizio in modo che siano disponibili nella macchina virtuale creata per un ruolo. Ad esempio, è possibile aggiungere un .exe o un file .msi usato da uno script di avvio al pacchetto del tuo servizio. In alternativa, potrebbe essere necessario aggiungere un assembly richiesto da un progetto di ruolo Web o di ruolo di lavoro. Per includere i file, è necessario aggiungerli alla soluzione per l'applicazione Azure.

  1. Per aggiungere un assembly a un pacchetto del servizio, seguire questa procedura:

    1. In Esplora soluzioni, apri il nodo del progetto per il progetto a cui manca l'assembly di riferimento.

    2. Per aggiungere l'assembly al progetto, aprire il menu di scelta rapida per la cartella Riferimenti e quindi scegliere Aggiungi riferimento. Verrà visualizzata la finestra di dialogo Aggiungi riferimento.

    3. Scegliere il riferimento da aggiungere e quindi scegliere OK. Il riferimento viene aggiunto all'elenco nella cartella Riferimenti.

    4. Apri il menu di scelta rapida per l'assembly aggiunto e scegli Proprietà. Viene visualizzata la finestra Proprietà.

      Per includere questo assembly nel pacchetto del servizio, nell'elenco Copia localeselezionare True.

  2. In Esplora soluzioni apri il nodo del progetto per il progetto a cui manca l'assembly di riferimento.

  3. Per aggiungere l'assembly al progetto, aprire il menu di scelta rapida per la cartella Riferimenti e quindi scegliere Aggiungi riferimento. Viene visualizzata la finestra di dialogo Aggiungi riferimento.

  4. Scegliere il riferimento da aggiungere e quindi scegliere il pulsante OK.

    Il riferimento viene aggiunto all'elenco nella cartella Riferimenti.

  5. Apri il menu di scelta rapida per l'assembly aggiunto e scegli Proprietà. Verrà visualizzata la finestra Proprietà.

  6. Per includere questo assembly nel pacchetto del servizio, nell'elenco Copia Locale scegliere *True*.

  7. Per includere i file nel pacchetto del servizio che sono stati aggiunti al progetto di ruolo Web, aprire il menu di scelta rapida per il file e quindi scegliere Proprietà. Nella finestra Proprietà, scegliere Content dalla casella di elenco Build Action.

  8. Per includere i file nel pacchetto del servizio aggiunti al progetto del ruolo di lavoro, apri il menu di scelta rapida per il file e quindi scegli Proprietà. Dalla finestra Proprietà, scegliere Copia se più recente dalla casella di riepilogo Copia nella directory di output.

Per ulteriori informazioni sulla pubblicazione su Azure da Visual Studio, vedere Procedura guidata di pubblicazione dell'applicazione Azure.