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.

  1. Abra um navegador da Web e navegue até seu projeto no Azure DevOps.

  2. Em Pipelines no menu de navegação esquerdo, selecione Compilações. Em seguida, selecione Novo pipeline.

    Create new Azure Pipeline

  3. Selecione Utilizar o editor clássico para criar um pipeline sem YAML.

  4. Selecione seu tipo de código-fonte, projeto de equipe e repositório. Em seguida, selecione Continuar.

    Select Azure Stream Analytics project

  5. Na página Escolha um modelo, selecione Trabalho vazio.

Instalar o pacote npm

  1. 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.

    Select npm task

  2. 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
    

    Enter configurations for npm task

Use as seguintes etapas se precisar usar o agente Linux hospedado:

  1. Selecione sua especificação de agente

    Screenshot of selecting agent specification.

  2. 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.

    Screenshot of searching commandline task.

  3. 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
    

    Screenshot of entering script for cmd task.

Adicionar uma tarefa de compilação

  1. 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 valor
    projectRootPath [Seu NomeProjeto]
    outputPath Saída
    deployPath Implementar
  2. Na página Tarefas, selecione o sinal de adição ao lado de Trabalho do agente 1. Procure por linha de comando.

  3. 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.

    Enter configurations for command-line task visual studio code

Adicionar uma tarefa de teste

  1. 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 valor
    testPath Teste

    Add pipeline variables

  2. Na página Tarefas, selecione o sinal de adição ao lado de Trabalho do agente 1. Procure por linha de comando.

  3. 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 
    

    Enter configurations for command-line task

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.

  1. 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
    Display name Copie arquivos para: $(build.artifactstagingdirectory)
    Pasta de origem $(system.defaultworkingdirectory)/$(outputPath)/
    Conteúdo **
    Pasta de destino $(build.artifactstagingdirectory)
  2. 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.

    Enter configurations for copy task

Adicionar uma tarefa Publicar artefatos de compilação

  1. 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.

  2. 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.

    Enter configurations for publish task

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 .

Check build and test result

Check artifacts

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.

  1. Em Pipelines no menu de navegação esquerdo, selecione Releases. Em seguida, selecione Novo pipeline.

  2. Selecione Iniciar com um trabalho vazio.

  3. Na caixa Artefatos, selecione + Adicionar um artefato. Em Origem, selecione o pipeline de compilação criado e selecione Adicionar.

    Enter build pipeline artifact

  4. Altere o nome do Estágio 1 para Implantar trabalho no ambiente de teste.

  5. 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.

  1. Na lista suspensa de tarefas, selecione Implantar trabalho no ambiente de teste.

  2. 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.
    Localização 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> "o seu valor". Você pode definir os parâmetros usando variáveis.
    Modo de Implementação Incremental
  3. Na lista suspensa de tarefas, selecione Implantar trabalho no ambiente de produção.

  4. 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.
    Localização 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> "o seu valor"
    Modo de Implementação Incremental

Criar uma versão

Para criar uma versão, selecione Criar versão no canto superior direito.

Create a release using Azure Pipelines

Próximos passos