Usar o Azure DevOps para criar um pipeline de CI/CD para um trabalho do Stream Analytics
Neste artigo, você aprenderá a criar pipelines build e release do Azure DevOps usando as ferramentas de CI/CD do Azure Stream Analytics.
Confirmar seu projeto do Stream Analytics
Antes de começar, confirme seus projetos do Stream Analytics completos como arquivos de origem para um repositório do Azure DevOps. Você pode referenciar este repositório de amostra e o código-fonte do projeto do Stream Analytics no Azure Pipelines.
As etapas neste artigo usam um projeto do Visual Studio Code 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 as ferramentas de CI/CD.
Criar um pipeline de build
Nesta seção, você aprenderá a criar uma pipeline de build.
Abra um navegador da Web e navegue até o seu projeto no Azure DevOps.
Em Pipelines no menu de navegação à esquerda, selecione Builds. Em seguida, selecione Novo pipeline.
Selecione Usar o editor clássico para criar um pipeline sem YAML.
Selecione o tipo de origem, o projeto de equipe e o repositório. Em seguida, selecione Continuar.
Na página Escolher um modelo, selecione Trabalho vazio.
Instalar o pacote do npm
Na página Tarefas, selecione o sinal de adição ao lado do Trabalho do agente 1. Insira npm na pesquisa de tarefa e selecione npn.
Dê um Nome de exibição à tarefa. Altere a opção de Comando para personalizado e insira o comando a seguir em Comando e argumentos. Mantenha as opções padrão restantes.
install -g azure-streamanalytics-cicd
Use as etapas a seguir se precisar usar o agente hospedado do Linux:
Selecione a sua Especificação do agente
Na página Tarefas, selecione o sinal de adição ao lado do Trabalho do agente 1. Insira a linha de comando na pesquisa de tarefas e selecione Linha de comando.
Dê um Nome de exibição à tarefa. Digite o comando a seguir em Script. Mantenha 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 variáveis a seguir. Defina os valores a seguir de acordo com sua preferência:
Nome da variável Valor projectRootPath [YourProjectName] outputPath Saída deployPath Implantar Na página Tarefas, selecione o sinal de adição ao lado do Trabalho do agente 1. Pesquise por Linha de comando.
Dê à tarefa um Nome de exibição e insira o script a seguir. Modifique o script com o nome do seu repositório e o nome do projeto.
Observação
É altamente recomendável usar
build --v2
para gerar o modelo do ARM para implantação. O novo modelo do ARM tem menos parâmetros, preservando a mesma funcionalidade que a versão anterior.Observe que o modelo mais antigo do ARM será preterido em breve, somente 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 Visual Studio Code do Stream Analytics como exemplo.
Adicionar uma tarefa de teste
Na página Variáveis, selecione + Adicionar em Variáveis de pipeline. Adicione as variáveis a seguir. Modifique os valores com o seu caminho de saída e o nome do repositório.
Nome da variável Valor testPath Teste Na página Tarefas, selecione o sinal de adição ao lado do Trabalho do agente 1. Pesquise por Linha de comando.
Dê à tarefa um Nome de exibição e insira o script a seguir. Modifique o script com o nome do arquivo de projeto e o caminho para o arquivo de configuração de teste.
Consulte 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 de cópia de arquivos
Você precisa adicionar uma tarefa de cópia de arquivo para copiar o arquivo de resumo do teste e os arquivos de modelo do Azure Resource Manager para a pasta fictícia.
Na página Tarefas, selecione o + ao lado do Trabalho do agente 1. Pesquise por Cópia de arquivos. Em seguida, verifique as configurações a seguir. Ao atribuir
**
a Conteúdo, todos os arquivos de resultado do teste são copiados.Parâmetro Entrada Nome de exibição Copiar arquivos para: $ (build.artifactstagingdirectory) Pasta de Origem $(system.defaultworkingdirectory)/$(outputPath)/
Sumário **
Pasta de Destino $(build.artifactstagingdirectory)
Expanda as Opções de Controle. Selecione Mesmo que uma tarefa anterior tenha falhado, a menos que o build tenha sido cancelado em Executar esta tarefa.
Adicionar uma tarefa de Publicar artefatos de compilação
Na página Tarefas, selecione o sinal de adição ao lado do Trabalho do agente 1. Pesquise por Publicar artefatos de compilação e selecione a opção com o ícone de seta preta.
Expanda as Opções de Controle. Selecione Mesmo que uma tarefa anterior tenha falhado, a menos que o build tenha sido cancelado em Executar esta tarefa.
Salvar e Executar
Depois de terminar de adicionar as tarefas de pacote npm, linha de comando, copiar arquivos e publicar artefatos de compilação, selecione Salvar e fila. Quando solicitado, insira um comentário para salvar e selecione Salvar e executar. Você pode baixar os resultados do teste na página Resumo do pipeline.
Verificar os resultados da compilação e do teste
O arquivo de resumo do teste e os arquivos de modelo do Azure Resource Manager podem ser encontrados na pasta Publicado.
Lançamento com Azure Pipelines
Nesta seção, você aprenderá a criar um pipeline de lançamento.
Abra um navegador da Web e navegue até o seu projeto do Visual Studio Code do Azure Stream Analytics.
Em Pipelines no menu de navegação à esquerda, selecione Lançamentos. Em seguida, selecione Novo pipeline.
Selecione começar com um trabalho Vazio.
Na caixa Artefatos, selecione + Adicionar um artefato. Em Origem, selecione o pipeline de build que você criou 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
Observação
O Override template parameters
não é aplicável a builds ARM v2, pois 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âmetro necessárias.
Para obter mais diretrizes 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 do ARM. Insira os parâmetros s seguir:
Parâmetro Valor Nome de exibição Implantar myASAProject Assinatura do Azure Escolha sua assinatura. Ação Criar ou atualizar o grupo de recursos Resource group Escolha um nome para o grupo de recursos de teste que conterá seu trabalho do Stream Analytics. Local Escolha o local do seu grupo de recursos de teste. Local do modelo Artefato vinculado Modelo $(System.DefaultWorkingDirectory)/_azure-streamanalytics-cicd-demo-CI-Deploy/drop/myASAProject.JobTemplate.json
Parâmetros de modelo $(System.DefaultWorkingDirectory)/_azure-streamanalytics-cicd-demo-CI-Deploy/drop/myASAProject.JobTemplate.parameters.json
Substituir parâmetros de modelo -<arm_template_parameter> "your value"
. Você pode definir os parâmetros usando Variáveis.Modo de implantaçã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 do ARM. Insira os parâmetros s seguir:
Parâmetro Valor Nome de exibição Implantar myASAProject Assinatura do Azure Escolha sua assinatura. Ação Criar ou atualizar o grupo de recursos Resource group Escolha um nome para o grupo de recursos de produção que conterá seu trabalho do Stream Analytics. Local Escolha o local do seu grupo de recursos de produção. Local do modelo Artefato vinculado Modelo $(System.DefaultWorkingDirectory)/_azure-streamanalytics-cicd-demo-CI-Deploy/drop/myASAProject.JobTemplate.json
Parâmetros de modelo $(System.DefaultWorkingDirectory)/_azure-streamanalytics-cicd-demo-CI-Deploy/drop/myASAProject.JobTemplate.parameters.json
Substituir parâmetros de modelo -<arm_template_parameter> "your value"
Modo de implantação Incremental
Criar uma versão
Para criar um lançamento, selecione Criar lançamento no canto superior direito.