Condividi tramite


Usare Azure DevOps per creare una pipeline CI/CD per un processo di Analisi di flusso

Questo articolo illustra come creare pipeline di Azure DevOps build e release usando gli strumenti CI/CD di Azure Stream Analytics.

Eseguire il commit del progetto di Analisi di flusso

Prima di iniziare, eseguire il commit dei progetti di Analisi di flusso completi come file di origine in un repository Azure DevOps. È possibile fare riferimento a questo repository di esempio sample e al codice sorgente del progetto Stream Analytics in Azure Pipelines.

I passaggi descritti in questo articolo usano un progetto di analisi di flusso Visual Studio Code. Se si usa un progetto Visual Studio, seguire la procedura descritta in Automate build, test e distribuzioni di un processo Azure Stream Analytics usando gli strumenti CI/CD.

Creazione di una pipeline di compilazione

In questa sezione viene illustrato come creare una build pipeline.

  1. Aprire un Web browser e passare al progetto in Azure DevOps.

  2. Sotto Pipelines nel menu di navigazione a sinistra, selezionare Builds. Selezionare quindi Nuova pipeline.

    Screenshot della pagina delle compilazioni di Azure Pipelines che mostra nessuna pipeline di compilazione trovata e un pulsante Nuova pipeline.

  3. Selezionare Usa l'editor classico per creare una pipeline senza YAML.

  4. Selezionare il tipo di sorgente, il progetto del team e il repository. Selezionare quindi Continua.

    Screenshot della pagina di selezione della sorgente di Azure Pipelines con Azure Repos Git, GitHub e altre opzioni, e repository, branch e pulsante 'Continua' visibile.

  5. Nella pagina Scegliere un modello selezionare Attività vuota.

Installare un pacchetto npm

  1. Nella pagina Attività selezionare l'icona più accanto a Processo dell'agente 1. Immettere npm nella ricerca delle attività e selezionare npm.

    Screenshot della pagina Attività di Azure Pipelines con Agent job 1 selezionato, ricerca npm effettuata e le opzioni di attività npm visualizzate a destra.

  2. Assegnare un nome visualizzato all'attività. Modificare l'opzione Comando in personalizzata e immettere il comando seguente in Comandi e argomenti. Non modificare le altre opzioni predefinite.

    install -g azure-streamanalytics-cicd
    

    Screenshot dell'editor di attività Azure Pipelines che mostra l'attività npm con comando personalizzato per installare il pacchetto azure-streamanalytics-cicd.

Se è necessario usare un agente Linux ospitato, seguire questa procedura:

  1. Selezionare la specifica dell'agente.

    Screenshot della pagina attività Azure Pipelines che mostra il pool di agenti impostato su Azure Pipelines e la specifica dell'agente impostata su ubuntu-16.04.

  2. Nella pagina Attività selezionare l'icona più accanto a Processo dell'agente 1. Immettere la riga di comando nella ricerca delle attività e selezionare Riga di comando.

    Screenshot della ricerca di attività della riga di comando.

  3. Assegnare all'attività un nome visualizzato. Immettere il comando seguente in Script. Non modificare le altre opzioni predefinite.

    sudo npm install -g azure-streamanalytics-cicd --unsafe-perm=true --allow-root
    

    Screenshot dell'inserimento dello script per il comando

Aggiungere un'attività di compilazione

  1. Nella pagina Variabili selezionare + Aggiungi nelle variabili della pipeline. Aggiungere le variabili seguenti. Impostare i valori seguenti in base alle preferenze:

    Nome variabile Valore
    projectRootPath [YourProjectName]
    outputPath Output
    deployPath Distribuire
  2. Nella pagina Attività selezionare l'icona più accanto a Processo dell'agente 1. Cerca Riga di comando.

  3. Assegnare all'attività un nome visualizzato e immettere lo script seguente. Modificare lo script con il nome del repository e il nome del progetto.

    Nota

    È altamente consigliabile usare il comando build --v2 per generare il modello ARM per la distribuzione. Il nuovo modello ARM ha meno parametri, mantenendo allo stesso tempo la stessa funzionalità della versione precedente.

    Il modello arm precedente verrà presto deprecato. Solo i modelli creati tramite build --v2 ricevono aggiornamenti e correzioni di bug.

    azure-streamanalytics-cicd build --v2 -project $(projectRootPath)/asaproj.json -outputpath $(projectRootPath)/$(outputPath)/$(deployPath)
    

    L'immagine seguente usa un progetto di analisi di flusso Visual Studio Code come esempio.

    Screenshot dell'editor di pipeline di Azure DevOps che mostra un'attività della riga di comando per costruire un progetto Stream Analytics di Visual Studio Code.

Aggiungere un'attività Test

  1. Nella pagina Variabili selezionare + Aggiungi nelle variabili della pipeline. Aggiungere le variabili seguenti. Modificare i valori con il percorso di output e il nome del repository.

    Nome variabile Valore
    testPath Test

    Screenshot della pagina Variabili di Azure Pipelines che mostra un elenco di variabili della pipeline e i loro valori, con il pulsante Aggiungi visibile.

  2. Nella pagina Attività selezionare l'icona più accanto a Processo dell'agente 1. Cerca Riga di comando.

  3. Assegnare all'attività un nome da visualizzare e immettere lo script seguente. Modificare lo script con il nome del file di progetto e il percorso del file di configurazione di test.

    Per informazioni dettagliate su come aggiungere e configurare test case, vedere istruzioni di test automatizzate .

    azure-streamanalytics-cicd test -project $(projectRootPath)/asaproj.json -outputpath $(projectRootPath)/$(outputPath)/$(testPath) -testConfigPath $(projectRootPath)/test/testConfig.json 
    

    Screenshot della configurazione dell'attività di Azure Pipelines.

Aggiungi un'attività di copia file

Aggiungere un'attività di copia file per copiare il file di riepilogo del test e i file modello di Azure Resource Manager nella cartella degli artefatti.

  1. Nella pagina Attività selezionare + accanto a Processo agente 1. Cercare Copia file. Immettere quindi le configurazioni seguenti. Assegnando ** a Contenuto, tutti i file dei risultati del test vengono copiati.

    Parametro Input
    Nome visualizzato Copiare file in: $(build.artifactstagingdirectory)
    Cartella di origine $(system.defaultworkingdirectory)/$(outputPath)/
    Contenuto **
    Cartella di destinazione $(build.artifactstagingdirectory)
  2. Espandere Opzioni di controllo. Selezionare Anche se un'attività precedente non è riuscita, a meno che la compilazione non sia stata annullata in Esegui questa attività.

    Screenshot delle impostazioni delle attività della pipeline Azure DevOps che illustrano il passaggio Copia file con i campi della cartella di origine, contenuto e destinazione riempiti.

Aggiungere un'attività di pubblicazione degli artefatti di compilazione

  1. Nella pagina Attività selezionare l'icona più accanto a Processo dell'agente 1. Cercare Pubblica artefatti di compilazione e selezionare l'opzione con l'icona a forma di freccia nera.

  2. Espandere Opzioni di controllo. Selezionare Anche se un'attività precedente non è riuscita, a meno che la compilazione non sia stata annullata in Esegui questa attività.

    Screenshot dell'editor delle attività di Azure Pipelines che mostra le impostazioni di pubblicazione degli artefatti di build con le opzioni di controllo ampliate.

Salvare ed eseguire

Dopo aver aggiunto il pacchetto npm e la riga di comando e aver copiato i file e pubblicato le attività degli artefatti di compilazione, selezionare Salva e accoda. Quando richiesto, immettere un commento di salvataggio e selezionare Salva ed esegui. È possibile scaricare i risultati dei test dalla pagina Riepilogo della pipeline.

Controllare i risultati della compilazione e del test

È possibile trovare il file di riepilogo dei test e Azure Resource Manager file modello nella cartella Published.

Screenshot della pagina di riepilogo di Azure Pipelines che mostra i dettagli di esecuzione manuale, le informazioni sul repository, il tempo trascorso e il link al risultato del test pubblicato.

Screenshot della pagina Azure Artifacts che mostra la scheda Pubblicati con cartelle e file per i risultati di compilazione e test.

Rilascio con Azure Pipelines

In questa sezione viene illustrato come creare una pipeline di versione.

Aprire un Web browser e passare al progetto Azure Stream Analytics Visual Studio Code.

  1. In Pipeline nel menu di spostamento a sinistra, selezionare Rilasci. Selezionare quindi Nuova pipeline.

  2. Selezionare Avvia con un lavoro vuoto.

  3. Nella casella Artefatti selezionare + Aggiungi un artefatto. In Origine selezionare la pipeline di compilazione creata e selezionare Aggiungi.

    Screenshot della finestra di dialogo Aggiungi un artefatto in Azure Pipelines che mostra il tipo di origine Compilazione selezionato e i campi della pipeline di compilazione completati.

  4. Modificare il nome della fase 1 in Distribuire il processo nell'ambiente di test.

  5. Aggiungere una nuova fase e denominarla Distribuire il processo nell'ambiente di produzione.

Aggiungere attività di distribuzione

Nota

L'opzione Override template parameters non si applica ai build di Azure Resource Manager v2 perché il processo passa i parametri come oggetti. Per ovviare a questa limitazione, aggiungere uno script di PowerShell alla pipeline che legge il file di parametri come JSON e apporta le modifiche necessarie ai parametri.

Per altre informazioni sull'aggiunta dello script di PowerShell, vedere ConvertFrom-Json e Update Object nel file JSON.

  1. Nell'elenco a discesa delle attività, selezionare Distribuisci processo di lavoro nell'ambiente di test.

  2. Selezionare + accanto a Processo agente e cercare la distribuzione del modello Azure Resource Manager. Immettere i parametri seguenti:

    Parametro Valore
    Nome visualizzato Distribuire myASAProject
    sottoscrizione Azure Scegliere la propria sottoscrizione.
    Azione Creare o aggiornare un gruppo di risorse
    Gruppo di risorse Scegliere un nome per il gruppo di risorse di test che contiene il processo di Analisi di flusso.
    Posizione Scegliere la posizione del gruppo di risorse di test.
    Percorso del modello Artefatti collegati
    Modello $(System.DefaultWorkingDirectory)/_azure-streamanalytics-cicd-demo-CI-Deploy/drop/myASAProject.JobTemplate.json
    Parametri del modello $(System.DefaultWorkingDirectory)/_azure-streamanalytics-cicd-demo-CI-Deploy/drop/myASAProject.JobTemplate.parameters.json
    Eseguire l'override dei parametri del modello -<arm_template_parameter> "your value". Definire i parametri usando Variabili.
    Modalità di distribuzione Incrementale
  3. Nel menu a discesa delle attività, selezionare Esegui distribuzione del job nell'ambiente di produzione.

  4. Selezionare + accanto a Processo agente e cercare la distribuzione del modello Azure Resource Manager. Immettere i parametri seguenti:

    Parametro Valore
    Nome visualizzato Distribuire myASAProject
    sottoscrizione Azure Scegliere la propria sottoscrizione.
    Azione Creare o aggiornare un gruppo di risorse
    Gruppo di risorse Scegliere un nome per il gruppo di risorse di produzione che contiene il processo di Analisi di flusso.
    Posizione Scegliere la posizione del gruppo di risorse di produzione.
    Percorso del modello Artefatto collegato
    Modello $(System.DefaultWorkingDirectory)/_azure-streamanalytics-cicd-demo-CI-Deploy/drop/myASAProject.JobTemplate.json
    Parametri del modello $(System.DefaultWorkingDirectory)/_azure-streamanalytics-cicd-demo-CI-Deploy/drop/myASAProject.JobTemplate.parameters.json
    Eseguire l'override dei parametri del modello -<arm_template_parameter> "your value"
    Modalità di distribuzione Incrementale

Creare una versione

Per creare una versione, selezionare Crea versione nell'angolo superiore destro.

Screenshot della pipeline di rilascio di Azure Pipelines con artefatti, fasi e il pulsante Crea rilascio evidenziato.