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

Questo articolo illustra come creare pipeline di compilazione e rilascio di Azure DevOps usando gli strumenti CI/CD di Analisi di flusso di Azure.

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 Di Azure DevOps . È possibile fare riferimento a questo repository di esempio e al codice sorgente del progetto di Analisi di flusso in Azure Pipelines.

I passaggi descritti in questo articolo usano un progetto di Visual Studio Code di Analisi di flusso. Se si usa un progetto di Visual Studio, seguire la procedura descritta in Automatizzare compilazioni, test e distribuzioni di un processo di Analisi di flusso di Azure con strumenti CI/CD.

Creazione di una pipeline di compilazione

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

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

  2. In Pipeline nel menu di spostamento a sinistra selezionare Compilazioni. Selezionare quindi Nuova pipeline.

    Create new Azure Pipeline

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

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

    Select Azure Stream Analytics project

  5. Nella pagina Scegliere un modello selezionare Processo vuoto.

Installare un pacchetto npm

  1. Nella pagina Attività selezionare il segno più accanto a Processo agente 1. Immettere npm nella ricerca delle attività e selezionare npm.

    Select npm task

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

    install -g azure-streamanalytics-cicd
    

    Enter configurations for npm task

Se è necessario usare l'agente hosted-Linux, seguire questa procedura:

  1. Selezionare la specifica dell'agente

    Screenshot of selecting agent specification.

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

    Screenshot of searching commandline task.

  3. Assegnare all'attività un nome visualizzato. immettere il comando seguente in Script. Lasciare le opzioni predefinite rimanenti.

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

    Screenshot of entering script for cmd task.

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 Distribuzione
  2. Nella pagina Attività selezionare il segno più accanto a Processo agente 1. Cercare 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

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

    Si noti che il modello arm precedente sarà presto deprecato, solo i modelli creati con build --v2 riceveranno aggiornamenti e correzioni di bug.

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

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

    Enter configurations for command-line task 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

    Add pipeline variables

  2. Nella pagina Attività selezionare il segno più accanto a Processo agente 1. Cercare Riga di comando.

  3. Assegnare all'attività un nome visualizzato 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 
    

    Enter configurations for command-line task

Aggiungere un'attività Copia file

È necessario aggiungere un'attività copia file per copiare il file di riepilogo del test e i file modello di Azure Resource Manager nella cartella artefatto.

  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 **
    Target Folder $(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à.

    Enter configurations for copy task

Aggiungere un'attività Pubblica artefatti di compilazione

  1. Nella pagina Attività selezionare il segno più accanto a Processo 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à.

    Enter configurations for publish task

Salvare ed eseguire

Dopo aver aggiunto il pacchetto npm, la riga di comando, copiare i file e pubblicare le attività degli artefatti di compilazione, selezionare Salva e coda. 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

Il file di riepilogo dei test e i file modello di Azure Resource Manager sono disponibili nella cartella Pubblicata .

Check build and test result

Check artifacts

Versione con Azure Pipelines

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

Aprire un Web browser e passare al progetto di Visual Studio Code di Analisi di flusso di Azure.

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

  2. Selezionare Inizia con un processo vuoto.

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

    Enter build pipeline artifact

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

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

Aggiungere attività di distribuzione

Nota

Non Override template parameters è applicabile per le compilazioni ARM --v2 perché i parametri vengono passati come oggetti. Per risolvere questo problema, è consigliabile includere uno script di PowerShell nella pipeline per leggere il file di parametri come JSON e apportare le modifiche necessarie ai parametri.

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

  1. Nell'elenco a discesa attività selezionare Distribuisci processo per testare l'ambiente.

  2. Selezionare l'elemento + accanto a Processo di Agent e cercare la distribuzione del modello di Resource Manager. Immettere i parametri seguenti:

    Parametro Valore
    Nome visualizzato Distribuire myASAProject
    Sottoscrizione di 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 conterrà il processo di Analisi di flusso.
    Ufficio Scegliere la posizione del gruppo di risorse di test.
    Percorso del modello Artefatti collegati
    Template $(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> "valore". È possibile definire i parametri usando Variabili.
    Modalità di distribuzione Incrementale
  3. Nell'elenco a discesa attività selezionare Distribuisci processo nell'ambiente di produzione.

  4. Selezionare l'elemento + accanto a Processo di Agent e cercare la distribuzione del modello di Resource Manager. Immettere i parametri seguenti:

    Parametro Valore
    Nome visualizzato Distribuire myASAProject
    Sottoscrizione di 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 conterrà il processo di Analisi di flusso.
    Ufficio Scegliere la posizione del gruppo di risorse di produzione.
    Percorso del modello Artefatto collegato
    Template $(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> "il tuo valore"
    Modalità di distribuzione Incrementale

Creare una versione

Per creare una versione, selezionare Crea versione nell'angolo in alto a destra.

Create a release using Azure Pipelines

Passaggi successivi