Automatizzare la compilazione e la distribuzione per i flussi di lavoro delle app per la logica Standard con Azure DevOps
Per i flussi di lavoro di app per la logica Standard eseguiti in App per la logica di Azure a tenant singolo, è possibile usare Visual Studio Code con l'estensione App per la logica di Azure (Standard) per sviluppare, testare e archiviare in locale il progetto dell'app per la logica usando qualsiasi sistema di controllo del codice sorgente. Tuttavia, per ottenere i vantaggi completi della distribuzione semplice e coerente dei flussi di lavoro in ambienti e piattaforme diversi, è necessario automatizzare anche il processo di compilazione e distribuzione.
L'estensione App per la logica di Azure (Standard) offre strumenti per creare e gestire processi di compilazione e distribuzione automatizzati con Azure DevOps. Tuttavia, prima di avviare questa automazione, prendere in considerazione gli elementi seguenti:
Risorsa dell'app per la logica di Azure in cui si creano i flussi di lavoro
Le connessioni ospitate in Azure che i flussi di lavoro usano e vengono create da connettori gestiti da Microsoft.
Queste connessioni differiscono dalle connessioni eseguite direttamente e in modo nativo con il runtime di App per la logica di Azure.
Impostazioni e parametri specifici per i diversi ambienti in cui si vuole distribuire
L'estensione consente di completare le attività necessarie seguenti per automatizzare la compilazione e la distribuzione:
Parametrizzare i riferimenti di connessione in fase di progettazione. Questa attività semplifica il processo di aggiornamento dei riferimenti in ambienti diversi senza interrompere la funzionalità di sviluppo locale.
Generare script che automatizzano la distribuzione per la risorsa dell'app per la logica Standard, incluse tutte le risorse dipendenti.
Generare script che automatizzano la distribuzione per le connessioni ospitate in Azure.
Preparare i parametri specifici dell'ambiente che è possibile inserire nel pacchetto App per la logica di Azure durante il processo di compilazione senza interrompere la funzionalità di sviluppo locale.
Generare pipeline su richiesta usando Azure DevOps per supportare la distribuzione dell'infrastruttura insieme ai processi di compilazione e rilascio.
Questa guida illustra come completare le attività seguenti:
Creare un'area di lavoro per le app per la logica e un progetto in Visual Studio Code che include i file che creano pipeline per la distribuzione dell'infrastruttura, l'integrazione continua (CI) e la distribuzione continua (CD).
Creare una connessione tra l'area di lavoro e il repository Git in Azure DevOps.
Creare pipeline in Azure DevOps.
Per altre informazioni, consultare la documentazione seguente:
Problemi noti e limitazioni
Questa funzionalità supporta solo progetti di app per la logica Standard. Se l'area di lavoro di Visual Studio Code contiene sia un progetto di app per la logica standard che un progetto di codice personalizzato di Funzioni, entrambi hanno script di distribuzione generati, ma i progetti di codice personalizzati vengono attualmente ignorati. La funzionalità per creare pipeline di compilazione per il codice personalizzato è in programma.
L'estensione crea pipeline per la distribuzione dell'infrastruttura, l'integrazione continua (CI) e la distribuzione continua (CD). Tuttavia, si è responsabili della connessione delle pipeline ad Azure DevOps e della creazione dei trigger pertinenti.
Attualmente, l'estensione supporta solo i modelli di Gestione risorse di Azure per gli script di distribuzione dell'infrastruttura. Altri modelli sono in fase di pianificazione.
Prerequisiti
Account e sottoscrizione di Azure. Se non si ha una sottoscrizione, è possibile iscriversi per creare un account Azure gratuito.
Visual Studio Code con l'estensione App per la logica di Azure (Standard). Per soddisfare questi requisiti, vedere i prerequisiti per Creare flussi di lavoro Standard con Visual Studio Code.
App per la logica di Azure (standard) attività di compilazione e rilascio per le attività di Azure DevOps. Queste attività sono disponibili in Azure DevOps Marketplace.
Un repository Git esistente in Azure DevOps in cui è possibile archiviare il progetto dell'app per la logica.
Connessione al servizio Azure Resource Manager con un'entità servizio esistente.
Un gruppo di risorse di Azure esistente in cui si vuole distribuire l'app per la logica.
Creare un'area di lavoro per l'app per la logica, un progetto e un flusso di lavoro
Nella barra attività di Visual Studio Code selezionare l'icona di Azure.
Nella finestra di Azure, sulla barra degli strumenti Area di lavoro aprire il menu App per la logica di Azure e selezionare Crea nuova area di lavoro per le app per la logica.
Seguire le istruzioni per completare le attività seguenti:
Selezionare la cartella per creare l'area di lavoro.
Immettere il nome dell'area di lavoro.
Selezionare il tipo di progetto: App per la logica
Immettere il nome del progetto dell'app per la logica.
Selezionare il modello del flusso di lavoro. Immettere il nome del flusso di lavoro.
Selezionare se aprire l'area di lavoro nella finestra corrente di Visual Studio Code o in una nuova finestra.
Visual Studio Code mostra il nuovo progetto di app per la logica e l'area di lavoro.
Per aprire la finestra di progettazione del flusso di lavoro, seguire questa procedura:
Nel progetto dell'app per la logica espandere la cartella con il nome del flusso di lavoro.
Se non è già aperto, aprire il file workflow.json , aprire il menu di scelta rapida del file e selezionare Apri finestra di progettazione.
Quando viene richiesto di consentire le parametriizzazioni per le connessioni al caricamento del progetto, selezionare Sì.
Questa selezione consente al progetto di usare i parametri nelle definizioni di connessione in modo da automatizzare la compilazione e la distribuzione per ambienti diversi.
Seguire le istruzioni per selezionare questi elementi:
Usare i connettori da Azure
Nota
Se si ignora questo passaggio, è possibile usare solo i connettori predefiniti ospitati in fase di esecuzione. Per abilitare i connettori gestiti da Microsoft, ospitati in Azure in un secondo momento, seguire questa procedura:
Aprire il menu di scelta rapida per il file workflow.json e selezionare Usa connettori da Azure.
Selezionare un gruppo di risorse di Azure esistente che si vuole usare per l'app per la logica.
Ricaricare la finestra di progettazione del flusso di lavoro.
Gruppo di risorse di Azure esistente che si vuole usare per l'app per la logica
Al termine, ricaricare la finestra di progettazione del flusso di lavoro. Se richiesto, accedere ad Azure.
È ora possibile modificare il flusso di lavoro in qualsiasi modo desiderato e testare localmente il flusso di lavoro lungo la strada. Per creare e testare un flusso di lavoro di esempio, vedere Creare flussi di lavoro Standard con Visual Studio Code.
Generare script di distribuzione
Dopo aver creato e testato localmente il flusso di lavoro, creare gli script di distribuzione.
Nell'area vuota in tutti i file di progetto aprire il menu di scelta rapida del progetto e selezionare Genera script di distribuzione.
Seguire le istruzioni per completare questi passaggi:
Selezionare il gruppo di risorse di Azure esistente da usare per l'app per la logica.
Immettere un nome univoco per la risorsa dell'app per la logica.
Immettere un nome univoco per la risorsa dell'account di archiviazione.
Immettere un nome univoco da usare per il piano di servizio app.
Selezionare la cartella dell'area di lavoro in cui si vogliono generare i file.
Percorso della cartella di distribuzione Descrizione Nuova cartella di distribuzione (impostazione predefinita) Creare una nuova cartella nell'area di lavoro corrente. Scegliere una cartella diversa Selezionare una cartella diversa nell'area di lavoro corrente.
Al termine, Visual Studio Code crea una cartella denominata deployment/{logic-app-name} nella radice dell'area di lavoro. Questa cartella usa lo stesso nome dell'app per la logica specificato in questi passaggi.
Nota
I valori delle variabili, delle impostazioni dell'app e dei parametri nei file seguenti vengono prepopolati in base all'input fornito in questi passaggi. Quando si usa un ambiente diverso, assicurarsi di aggiornare i valori per i file di parametri e variabili creati.
Nella cartella {logic-app-name} è disponibile la struttura seguente:
Nome cartella Nome file e descrizione ADOPipelineScripts - CD-pipeline.yml: pipeline di recapito continuo che contiene le istruzioni per distribuire il codice dell'app per la logica nella risorsa dell'app per la logica in Azure.
- CD-pipeline-variables.yml: file YAML contenente le variabili usate dal file CD-pipeline.yml.
- CI-pipeline.yml: pipeline di integrazione continua che contiene le istruzioni per compilare e generare gli artefatti necessari per distribuire la risorsa dell'app per la logica in Azure.
- CI-pipeline-variables.yml: file YAML che contiene le variabili usate dal file CI-pipeline.yml.
- infrastructure-pipeline.yml: pipeline YAML "Infrastructure-as-Code" che contiene le istruzioni per caricare tutti i modelli di Resource Manager in Azure ed eseguire i passaggi nel file infrastructure-pipeline-template.yml.
- infrastructure-pipeline-template.yml: file di pipeline YAML che contiene i passaggi per distribuire una risorsa dell'app per la logica con tutte le dipendenze necessarie e distribuire ogni connessione gestita richiesta dal codice sorgente.
- infrastructure-pipeline-variables.yml: pipeline YAML che contiene tutte le variabili necessarie per eseguire i passaggi nel file infrastructure-pipeline-template.yml.ArmTemplates - {connection-type}.parameters.json: file di parametri di Resource Manager che contiene i parametri necessari per distribuire una connessione ospitata in Azure denominata {connection-type} in Azure. Questo file esiste per ogni connessione ospitata in Azure nel flusso di lavoro.
- {connection-type}.template.json: file di modello di Resource Manager che rappresenta una connessione ospitata in Azure denominata {connection-reference} e contiene le informazioni usate per distribuire la risorsa di connessione corrispondente in Azure. Questo file esiste per ogni connessione ospitata in Azure nel flusso di lavoro.
- {logic-app-name}.parameters.json: file di parametri di Resource Manager che contiene i parametri necessari per distribuire la risorsa dell'app per la logica Standard denominata {logic-app-name} in Azure, incluse tutte le dipendenze.
- {logic-app-name}.template.json: file di modello di Resource Manager che rappresenta la risorsa dell'app per la logica standard denominata {logic-app-name} e contiene le informazioni usate per distribuire la risorsa dell'app per la logica in Azure.WorkflowParameters parameters.json: questo file JSON è una copia del file di parametri locali e contiene una copia di tutti i parametri definiti dall'utente più la versione cloud di tutti i parametri creati dall'estensione per parametrizzare le connessioni ospitate in Azure. Questo file viene usato per compilare il pacchetto che viene distribuito in Azure.
Connettere l'area di lavoro al repository Git
Seguire questa procedura per inizializzare il repository:
Nella barra attività di Visual Studio Code selezionare l'icona Controllo del codice sorgente.
Nella finestra Controllo del codice sorgente selezionare Inizializza repository.
Dal menu prompt selezionare Scegli cartella. Selezionare la cartella radice dell'area di lavoro e quindi selezionare Inizializza repository.
Nella finestra Controllo del codice sorgente selezionare Apri repository.
Dal menu prompt selezionare il repository appena creato.
Per altre informazioni, vedere Visual Studio Code - Inizializzare un repository in una cartella locale.
Seguire questa procedura per ottenere l'URL per il repository Git in modo da poter aggiungere un repository remoto:
In Azure DevOps aprire il progetto team per l'organizzazione Azure DevOps.
Nel menu a sinistra espandere Repository e selezionare File.
Sulla barra degli strumenti del riquadro File selezionare Clona.
Nella finestra Clone Repository copiare la versione HTTPS dell'URL del clone.
Per altre informazioni, vedere Ottenere l'URL clone per il repository Git in Azure Repos.
Seguire questa procedura per aggiungere un repository Git remoto:
Al prompt, incollare l'URL copiato e immettere un nome per il telecomando, che in genere è di origine.
È stata creata una connessione tra Visual Studio Code e il repository.
Prima di configurare le pipeline nella sezione successiva, aprire il file CD-pipeline.yml e rinominare la pipeline CI nell'attributo
source
in modo che corrisponda al nome della pipeline CI che si vuole usare.Nella finestra Controllo del codice sorgente eseguire il commit delle modifiche e pubblicarle nel repository.
Per altre informazioni, vedere Stage and commit code changes .For more information, see Stage and commit code changes.
Creare pipeline in Azure DevOps
Per creare l'infrastruttura insieme alle pipeline CI e CD in Azure DevOps, ripetere i passaggi seguenti per ognuno dei file di pipeline seguenti:
- infrastructure-pipeline.yml per la pipeline "Infrastruttura come codice".
- CI-pipeline.yml per la pipeline di integrazione continua.
- CD-pipeline.yml per la pipeline di recapito continuo.
Configurare una pipeline
In Azure DevOps tornare al progetto team e al riquadro File repository>.
Nel riquadro File selezionare Configura compilazione.
Nel riquadro Inventario della pipeline verificare le informazioni sul repository e selezionare Configura pipeline.
Nel riquadro Configura la pipeline selezionare File YAML di Azure Pipelines esistente.
Nel riquadro Selezionare un file YAML esistente seguire questa procedura per selezionare il file Infrastructure-pipeline.yml:
Per Branch selezionare il ramo in cui è stato eseguito il commit delle modifiche, ad esempio main o il ramo di rilascio.
In Percorso selezionare il percorso da usare per la pipeline. Il percorso seguente è il valore predefinito:
deployment/{logic-app-name}/ADOPipelineScripts/{infrastructure-pipeline-name}.yml
Quando si è pronti, selezionare Continua.
Nel riquadro Configura la pipeline selezionare Rivedi pipeline.
Nel riquadro Rivedi la pipeline regolamentata specificare le informazioni seguenti:
- Nome pipeline: immettere un nome per la pipeline.
- Cartella pipeline: selezionare la cartella in cui salvare la pipeline, denominata ./deployment/{logic-app-name}/pipelines.
Al termine, seleziona Salva.
Visualizzare ed eseguire la pipeline
Per trovare ed eseguire la pipeline, seguire questa procedura:
Nel menu a sinistra del progetto team espandere Pipeline e selezionare Pipeline.
Selezionare la scheda Tutti per visualizzare tutte le pipeline disponibili. Trovare e selezionare la pipeline.
Sulla barra degli strumenti della pipeline selezionare Esegui pipeline.
Per altre informazioni, vedere Creare la prima pipeline.