Usar o Azure DevOps para criar um pipeline de CI/CD para um trabalho do Stream Analytics
Neste artigo, você aprenderá a criar pipelines de compilação e lançamento do Azure DevOps usando as ferramentas de CI/CD do Azure Stream Analytics.
Confirme seu projeto do Stream Analytics
Antes de começar, confirme seus projetos completos do Stream Analytics como arquivos de origem em um repositório do Azure DevOps . Você pode fazer referência a este repositório de exemplo e ao código-fonte do projeto do Stream Analytics no Azure Pipelines.
As etapas neste artigo usam um projeto de código do Visual Studio do Stream Analytics. Se você estiver usando um projeto do Visual Studio, siga as etapas em Automatizar compilações, testes e implantações de um trabalho do Azure Stream Analytics usando ferramentas de CI/CD.
Criar um pipeline de compilação
Nesta seção, você aprenderá a criar um pipeline de compilação.
Abra um navegador da Web e navegue até seu projeto no Azure DevOps.
Em Pipelines no menu de navegação esquerdo, selecione Compilações. Em seguida, selecione Novo pipeline.
Selecione Utilizar o editor clássico para criar um pipeline sem YAML.
Selecione seu tipo de código-fonte, projeto de equipe e repositório. Em seguida, selecione Continuar.
Na página Escolha um modelo, selecione Trabalho vazio.
Instalar o pacote npm
Na página Tarefas, selecione o sinal de adição ao lado de Trabalho do agente 1. Digite npm na pesquisa de tarefas e selecione npm.
Dê à tarefa um Nome para exibição. Altere a opção Comando para personalizar e digite o seguinte comando em Comando e argumentos. Deixe as opções padrão restantes.
install -g azure-streamanalytics-cicd
Use as seguintes etapas se precisar usar o agente Linux hospedado:
Selecione sua especificação de agente
Na página Tarefas, selecione o sinal de adição ao lado de Trabalho do agente 1. Insira a linha de comando na pesquisa de tarefas e selecione Linha de comando.
Dê à tarefa um Nome para exibição. insira o seguinte comando em Script. Deixe as opções padrão restantes.
sudo npm install -g azure-streamanalytics-cicd --unsafe-perm=true --allow-root
Adicionar uma tarefa de compilação
Na página Variáveis, selecione + Adicionar em variáveis de pipeline. Adicione as seguintes variáveis. Defina os seguintes valores de acordo com a sua preferência:
Nome da variável Value projectRootPath [Seu NomeProjeto] outputPath Saída deployPath Implementar Na página Tarefas, selecione o sinal de adição ao lado de Trabalho do agente 1. Procure por linha de comando.
Dê à tarefa um Nome para exibição e insira o seguinte script. Modifique o script com o nome do repositório e o nome do projeto.
Nota
É altamente recomendável usar o modelo para gerar ARM
build --v2
para implantação. O novo modelo ARM tem menos parâmetros, preservando a mesma funcionalidade da versão anterior.Observe que o modelo ARM mais antigo será preterido em breve, apenas os modelos criados usando
build --v2
receberão atualizações e correções de bugs.azure-streamanalytics-cicd build --v2 -project $(projectRootPath)/asaproj.json -outputpath $(projectRootPath)/$(outputPath)/$(deployPath)
A imagem usa um projeto do Stream Analytics Visual Studio Code como exemplo.
Adicionar uma tarefa de teste
Na página Variáveis, selecione + Adicionar em variáveis de pipeline. Adicione as seguintes variáveis. Modifique os valores com o caminho de saída e o nome do repositório.
Nome da variável Value testPath Teste Na página Tarefas, selecione o sinal de adição ao lado de Trabalho do agente 1. Procure por linha de comando.
Dê à tarefa um Nome para exibição e insira o seguinte script. Modifique o script com o nome do arquivo de projeto e o caminho para o arquivo de configuração de teste.
Consulte as instruções de teste automatizado para obter detalhes sobre como adicionar e configurar casos de teste.
azure-streamanalytics-cicd test -project $(projectRootPath)/asaproj.json -outputpath $(projectRootPath)/$(outputPath)/$(testPath) -testConfigPath $(projectRootPath)/test/testConfig.json
Adicionar uma tarefa Copiar ficheiros
Você precisa adicionar uma tarefa de cópia de arquivo para copiar o arquivo de resumo de teste e os arquivos de modelo do Azure Resource Manager para a pasta de artefatos.
Na página Tarefas, selecione a + ao lado de Trabalho do agente 1. Procure por Copiar ficheiros. Em seguida, insira as seguintes configurações. Ao atribuir
**
ao Contents, todos os arquivos dos resultados do teste são copiados.Parâmetro Entrada Nome a apresentar Copie arquivos para: $(build.artifactstagingdirectory) Pasta de origem $(system.defaultworkingdirectory)/$(outputPath)/
Conteúdos **
Pasta de destino $(build.artifactstagingdirectory)
Expanda Opções de controle. Selecione Mesmo que uma tarefa anterior tenha falhado, a menos que a compilação tenha sido cancelada em Executar esta tarefa.
Adicionar uma tarefa Publicar artefatos de compilação
Na página Tarefas, selecione o sinal de adição ao lado de Trabalho do agente 1. Procure por Publicar artefatos de construção e selecione a opção com o ícone de seta preta.
Expanda Opções de controle. Selecione Mesmo que uma tarefa anterior tenha falhado, a menos que a compilação tenha sido cancelada em Executar esta tarefa.
Guarde e execute
Quando terminar de adicionar o pacote npm, a linha de comando, copiar arquivos e publicar tarefas de artefatos de compilação, selecione Salvar fila de desejos. Quando lhe for pedido, introduza um comentário para guardar e selecione Guardar e executar. Você pode baixar os resultados do teste na página Resumo do pipeline.
Verifique os resultados da compilação e do teste
O arquivo de resumo de teste e os arquivos de Modelo do Azure Resource Manager podem ser encontrados na pasta Publicado .
Lançamento com o Azure Pipelines
Nesta seção, você aprenderá a criar um pipeline de versão.
Abra um navegador da Web e navegue até seu projeto do Azure Stream Analytics Visual Studio Code.
Em Pipelines no menu de navegação esquerdo, selecione Releases. Em seguida, selecione Novo pipeline.
Selecione Iniciar com um trabalho vazio.
Na caixa Artefatos, selecione + Adicionar um artefato. Em Origem, selecione o pipeline de compilação criado e selecione Adicionar.
Altere o nome do Estágio 1 para Implantar trabalho no ambiente de teste.
Adicione um novo estágio e nomeie-o Implantar trabalho no ambiente de produção.
Adicionar tarefas de implantação
Nota
O Override template parameters
não é aplicável para compilações ARM v2, uma vez que os parâmetros são passados como objetos. Para resolver isso, é recomendável incluir um script do PowerShell em seu pipeline para ler o arquivo de parâmetro como JSON e fazer as modificações de parâmetros necessárias.
Para obter mais orientações sobre como adicionar o script do PowerShell, consulte ConvertFrom-Json e Update Object no arquivo JSON.
Na lista suspensa de tarefas, selecione Implantar trabalho no ambiente de teste.
Selecione ao lado de Trabalho do agente e procure por implantação de + modelo ARM. Insira os seguintes parâmetros:
Parâmetro valor Display name Implantar myASAProject Subscrição do Azure Escolha a sua subscrição. Ação Criar ou atualizar grupo de recursos Grupo de recursos Escolha um nome para o grupo de recursos de teste que conterá seu trabalho do Stream Analytics. Location Escolha o local do seu grupo de recursos de teste. Localização do modelo Artefato vinculado Template $(System.DefaultWorkingDirectory)/_azure-streamanalytics-cicd-demo-CI-Deploy/drop/myASAProject.JobTemplate.json
Parâmetros do modelo $(System.DefaultWorkingDirectory)/_azure-streamanalytics-cicd-demo-CI-Deploy/drop/myASAProject.JobTemplate.parameters.json
Substituir os parâmetros do modelo -<arm_template_parameter> "your value"
. Você pode definir os parâmetros usando variáveis.Modo de Implementação Incremental Na lista suspensa de tarefas, selecione Implantar trabalho no ambiente de produção.
Selecione ao lado de Trabalho do agente e procure por implantação de + modelo ARM. Insira os seguintes parâmetros:
Parâmetro valor Display name Implantar myASAProject Subscrição do Azure Escolha a sua subscrição. Ação Criar ou atualizar grupo de recursos Grupo de recursos Escolha um nome para o grupo de recursos de produção que conterá seu trabalho do Stream Analytics. Location Escolha o local do seu grupo de recursos de produção. Localização do modelo Artefato vinculado Template $(System.DefaultWorkingDirectory)/_azure-streamanalytics-cicd-demo-CI-Deploy/drop/myASAProject.JobTemplate.json
Parâmetros do modelo $(System.DefaultWorkingDirectory)/_azure-streamanalytics-cicd-demo-CI-Deploy/drop/myASAProject.JobTemplate.parameters.json
Substituir os parâmetros do modelo -<arm_template_parameter> "your value"
Modo de Implementação Incremental
Criar uma versão
Para criar uma versão, selecione Criar versão no canto superior direito.