Usare il pacchetto NuGet CI/CD di Analisi di flusso di Azure per l'integrazione e lo sviluppo
Questo articolo descrive come usare il pacchetto NuGet CI/CD di Analisi di flusso di Azure per configurare un processo di integrazione e distribuzione continua.
Usare la versione 2.3.0000.0 o una versione successiva degli strumenti di Analisi di flusso di Azure per Visual Studio per ottenere il supporto di MSBuild.
È disponibile un pacchetto NuGet: Microsoft.Azure.Stream Analytics.CICD. Fornisce gli strumenti msbuild, di esecuzione locale e di distribuzione che supportano il processo di integrazione e distribuzione continua dei progetti di Analisi di flusso di Visual Studio.
Nota
Il pacchetto NuGet può essere usato solo con la versione 2.3.0000.0 o successiva di strumenti di Analisi di flusso di Azure per Visual Studio. Se i progetti sono stati creati con le versioni precedenti degli strumenti di Visual Studio, aprirli con la versione 2.3.0000.0 o successiva e salvare. Le nuove funzionalità vengono quindi abilitate.
Per altre informazioni, vedere Usare gli strumenti di Analisi di flusso di Azure per Visual Studio.
MSBuild
Come l'esperienza standard di Visual Studio MSBuild, per compilare un progetto sono disponibili due opzioni. È possibile fare clic con il pulsante destro del mouse sul progetto e quindi scegliere Compila. È possibile anche usare MSBuild nel pacchetto NuGet dalla riga di comando.
./build/msbuild /t:build [Your Project Full Path] /p:CompilerTaskAssemblyFile=Microsoft.WindowsAzure.StreamAnalytics.Common.CompileService.dll /p:ASATargetsFilePath="[NuGet Package Local Path]\build\StreamAnalytics.targets"
Quando viene compilato un progetto di Analisi di flusso per Visual Studio, vengono generati i seguenti due file del modello di Azure Resource Manager nella cartella bin/[Debug/Retail]/Deploy:
File del modello di Resource Manager
[ProjectName].JobTemplate.json
File dei parametri di Resource Manager
[ProjectName].JobTemplate.parameters.json
I parametri predefiniti nel file parameters.json corrispondono alle impostazioni del progetto di Visual Studio. Se si vuole distribuire in un altro ambiente, sostituire i parametri di conseguenza.
Nota
Per tutte le credenziali, i valori predefiniti sono impostati su Null. È obbligatorio impostare i valori prima di eseguire la distribuzione nel cloud.
"Input_EntryStream_sharedAccessPolicyKey": {
"value": null
},
Altre informazioni su come distribuire con un file di modello di Resource Manager e Azure PowerShell. Altre informazioni su come usare un oggetto come parametro in un modello di Resource Manager.
Per usare l'identità gestita per Azure Data Lake Store Gen2 come sink di output, è necessario fornire l'accesso all'entità servizio usando PowerShell prima della distribuzione in Azure. Altre informazioni su come distribuire ADLS Gen2 con identità gestita con un modello di Resource Manager.
Strumento da riga di comando
Compilare il progetto
Il pacchetto NuGet include uno strumento da riga di comando denominato SA.exe. Supporta la compilazione di progetti e i test locali in un computer arbitrario che è possibile usare nei processi di integrazione continua e recapito continuo.
Per impostazione predefinita, i file di distribuzione vengono inseriti nella directory corrente. È possibile specificare il percorso di output usando il seguente parametro -OutputPath:
./tools/SA.exe build -Project [Your Project Full Path] [-OutputPath <outputPath>]
Testare lo script in locale
Se il progetto ha file di input locali specificati in Visual Studio, è possibile eseguire un test automatico per lo script usando il comando localrun. Il risultato dell'output verrà inserito nella directory corrente.
localrun -Project [ProjectFullPath]
Generare un file di definizione del processo da usare con l'API PowerShell di Analisi di flusso di Azure
Il comando arm prende come input i file del modello del processo e del parametro del modello del processo generati nella build. Quindi li combina in un file JSON di definizione del processo che può essere usato con l'API PowerShell di Analisi di flusso di Azure.
arm -JobTemplate <templateFilePath> -JobParameterFile <jobParameterFilePath> [-OutputFile <asaArmFilePath>]
Esempio:
./tools/SA.exe arm -JobTemplate "ProjectA.JobTemplate.json" -JobParameterFile "ProjectA.JobTemplate.parameters.json" -OutputFile "JobDefinition.json"