Azure DevOps gebruiken om een CI/CD-pijplijn te maken voor een Stream Analytics-taak
In dit artikel leert u hoe u Azure DevOps-build- en releasepijplijnen maakt met behulp van Azure Stream Analytics CI/CD-hulpprogramma's.
Uw Stream Analytics-project doorvoeren
Voordat u begint, voert u de volledige Stream Analytics-projecten als bronbestanden door naar een Azure DevOps-opslagplaats . U kunt verwijzen naar deze voorbeeldopslagplaats en Stream Analytics-projectbroncode in Azure Pipelines.
In de stappen in dit artikel wordt een Stream Analytics Visual Studio Code-project gebruikt. Als u een Visual Studio-project gebruikt, volgt u de stappen in Automate-builds, tests en implementaties van een Azure Stream Analytics-taak met behulp van CI/CD-hulpprogramma's.
Een build-pijplijn maken
In deze sectie leert u hoe u een build-pijplijn maakt.
Open een webbrowser en navigeer naar uw project in Azure DevOps.
Selecteer Builds onder Pijplijnen in het linkernavigatiemenu. Selecteer vervolgens Nieuwe pijplijn.
Selecteer De klassieke editor gebruiken om een pijplijn te maken zonder YAML.
Selecteer uw brontype, teamproject en opslagplaats. Selecteer vervolgens Doorgaan.
Selecteer Lege taak op de pagina Een sjabloon kiezen.
Npm-pakket installeren
Selecteer op de pagina Taken het plusteken naast agenttaak 1. Voer npm in bij het zoeken naar taken en selecteer npm.
Geef de taak een weergavenaam. Wijzig de opdrachtoptie in aangepast en voer de volgende opdracht in Opdracht en argumenten in. Laat de overige standaardopties staan.
install -g azure-streamanalytics-cicd
Voer de volgende stappen uit als u een gehoste Linux-agent moet gebruiken:
Selecteer uw agentspecificatie
Selecteer op de pagina Taken het plusteken naast agenttaak 1. Voer de opdrachtregel in de zoekfunctie van de taak in en selecteer opdrachtregel.
Geef de taak een weergavenaam. voer de volgende opdracht in Script in. Laat de overige standaardopties staan.
sudo npm install -g azure-streamanalytics-cicd --unsafe-perm=true --allow-root
Een build-taak toevoegen
Selecteer + Toevoegen in pijplijnvariabelen op de pagina Variabelen. Voeg de volgende variabelen toe. Stel de volgende waarden in op basis van uw voorkeur:
Naam van de variabele Weergegeven als projectRootPath [YourProjectName] outputPath Uitvoer deployPath Implementeren Selecteer op de pagina Taken het plusteken naast agenttaak 1. Zoek de opdrachtregel.
Geef de taak een weergavenaam en voer het volgende script in. Wijzig het script met de naam van de opslagplaats en de projectnaam.
Notitie
Het wordt ten zeerste aanbevolen om de
build --v2
ARM-sjabloon te genereren voor implementatie. De nieuwe ARM-sjabloon heeft minder parameters en behoudt dezelfde functionaliteit als de vorige versie.Houd er rekening mee dat de oudere ARM-sjabloon binnenkort wordt afgeschaft. Alleen sjablonen die met deze
build --v2
sjabloon worden gemaakt, ontvangen updates en oplossingen voor fouten.azure-streamanalytics-cicd build --v2 -project $(projectRootPath)/asaproj.json -outputpath $(projectRootPath)/$(outputPath)/$(deployPath)
De afbeelding maakt gebruik van een Stream Analytics Visual Studio Code-project als voorbeeld.
Een testtaak toevoegen
Selecteer + Toevoegen in pijplijnvariabelen op de pagina Variabelen. Voeg de volgende variabelen toe. Wijzig de waarden met de naam van het uitvoerpad en de naam van de opslagplaats.
Naam van de variabele Weergegeven als testPath Testen Selecteer op de pagina Taken het plusteken naast agenttaak 1. Zoek de opdrachtregel.
Geef de taak een weergavenaam en voer het volgende script in. Wijzig het script met de naam van het projectbestand en het pad naar het testconfiguratiebestand.
Zie geautomatiseerde testinstructies voor meer informatie over het toevoegen en configureren van testcases.
azure-streamanalytics-cicd test -project $(projectRootPath)/asaproj.json -outputpath $(projectRootPath)/$(outputPath)/$(testPath) -testConfigPath $(projectRootPath)/test/testConfig.json
Een taak Bestanden kopiëren toevoegen
U moet een kopieerbestandstaak toevoegen om het testoverzichtsbestand en de Azure Resource Manager-sjabloonbestanden te kopiëren naar de artefactmap.
Selecteer op de pagina Taken de + optie naast agenttaak 1. Zoek bestanden kopiëren. Voer vervolgens de volgende configuraties in. Als u inhoud toewijst
**
, worden alle bestanden van de testresultaten gekopieerd.Parameter Invoer Weergavenaam Bestanden kopiëren naar: $(build.artifactstagingdirectory) Bronmap $(system.defaultworkingdirectory)/$(outputPath)/
Inhoud **
Doelmap $(build.artifactstagingdirectory)
Besturingselementopties uitvouwen. Selecteer Zelfs als een vorige taak is mislukt, tenzij de build is geannuleerd in Deze taak uitvoeren.
Een taak buildartefacten publiceren toevoegen
Selecteer op de pagina Taken het plusteken naast agenttaak 1. Zoek naar buildartefacten publiceren en selecteer de optie met het zwarte pijlpictogram.
Besturingselementopties uitvouwen. Selecteer Zelfs als een vorige taak is mislukt, tenzij de build is geannuleerd in Deze taak uitvoeren.
Opslaan en uitvoeren
Zodra u klaar bent met het toevoegen van het npm-pakket, de opdrachtregel, het kopiëren van bestanden en het publiceren van taken voor buildartefacten, selecteert u Opslaan en wachtrij. Wanneer u hierom wordt gevraagd, voert u een opmerking opslaan in en selecteert u Opslaan en uitvoeren. U kunt de testresultaten downloaden van de overzichtspagina van de pijplijn.
De build- en testresultaten controleren
Het testoverzichtsbestand en de Azure Resource Manager-sjabloonbestanden vindt u in de gepubliceerde map.
Release met Azure Pipelines
In deze sectie leert u hoe u een release-pijplijn maakt.
Open een webbrowser en navigeer naar uw Azure Stream Analytics Visual Studio Code-project.
Selecteer Releases onder Pijplijnen in het linkernavigatiemenu. Selecteer vervolgens Nieuwe pijplijn.
Selecteer beginnen met een lege taak.
Selecteer + Een artefact toevoegen in het vak Artefacten. Selecteer onder Bron de build-pijplijn die u hebt gemaakt en selecteer Toevoegen.
Wijzig de naam van fase 1 om de taak te implementeren om de testomgeving te testen.
Voeg een nieuwe fase toe en geef deze de implementatietaak een naam in de productieomgeving.
Implementatietaken toevoegen
Notitie
De Override template parameters
is niet van toepassing op ARM v2-builds omdat parameters worden doorgegeven als objecten. U kunt dit oplossen door een PowerShell-script in uw pijplijn op te nemen om het parameterbestand als JSON te lezen en de benodigde parameterwijzigingen aan te brengen.
Raadpleeg ConvertFrom-Json en Update Object in het JSON-bestand voor meer informatie over het toevoegen van het PowerShell-script.
Selecteer in de vervolgkeuzelijst Taken de optie Taak implementeren om de testomgeving te testen.
Selecteer de + volgende agenttaak en zoek naar arm-sjabloonimplementatie. Voer de volgende parameters in:
Parameter Weergegeven als Display name MyASAProject implementeren Azure-abonnement Kies uw abonnement. Actie Resourcegroep maken of bijwerken Resourcegroep Kies een naam voor de testresourcegroep die uw Stream Analytics-taak bevat. Locatie Kies de locatie van de testresourcegroep. Sjabloonlocatie Gekoppeld artefact Template $(System.DefaultWorkingDirectory)/_azure-streamanalytics-cicd-demo-CI-Deploy/drop/myASAProject.JobTemplate.json
Sjabloonparameters $(System.DefaultWorkingDirectory)/_azure-streamanalytics-cicd-demo-CI-Deploy/drop/myASAProject.JobTemplate.parameters.json
Sjabloonparameters overschrijven -<arm_template_parameter> "your value"
. U kunt de parameters definiëren met behulp van variabelen.Implementatiemodus Incrementeel Selecteer in de vervolgkeuzelijst Taken de optie Taak implementeren in productieomgeving.
Selecteer de + volgende agenttaak en zoek naar arm-sjabloonimplementatie. Voer de volgende parameters in:
Parameter Weergegeven als Display name MyASAProject implementeren Azure-abonnement Kies uw abonnement. Actie Resourcegroep maken of bijwerken Resourcegroep Kies een naam voor de productieresourcegroep die uw Stream Analytics-taak bevat. Locatie Kies de locatie van uw productieresourcegroep. Sjabloonlocatie Gekoppeld artefact Template $(System.DefaultWorkingDirectory)/_azure-streamanalytics-cicd-demo-CI-Deploy/drop/myASAProject.JobTemplate.json
Sjabloonparameters $(System.DefaultWorkingDirectory)/_azure-streamanalytics-cicd-demo-CI-Deploy/drop/myASAProject.JobTemplate.parameters.json
Sjabloonparameters overschrijven -<arm_template_parameter> "your value"
Implementatiemodus Incrementeel
Een release maken
Als u een release wilt maken, selecteert u Release maken in de rechterbovenhoek.