DevSecOps

27 mai, 2019

Deploy de Azure Stream Analytics job com CI/CD usando Azure Pipelines

Publicidade

Fala, galera!

Hoje vamos falar sobre CI/CD usando o Azure Pipelines no Azure Devops de uma maneira simples e fácil com um pipeline completo com build e release.

Configurando NuGet package dependência

Para o deploy automático é preciso adicionar o NuGet package Microsoft.Azure.StreamAnalytics.CICD, e no processo de build ele irá gerar o arquivo ARM para a criação do recurso no Azure.

Add packages.config no seu repositório com o código abaixo.

<?xml version="1.0" encoding="utf-8"?>
<packages>
  <package id="Microsoft.Azure.StreamAnalytics.CICD" version="1.8.0" targetFramework="net452" />
</packages>

Criação do Build da aplicação

1. No menu de navegação, clicar em Pipelines, selecionar Builds, e então clicar em “+ New” e “New Build Pipelines“.

Clique em “Use the classic editor” e selecione o repositório do projeto. Escolha empty job.

2. No menu de navegação, clicar em Pìpelines, selecionar Builds, e então “+ New” e “New Build Pipelines“.

Clique em Use the classic editor e selecione o repositório do projeto. Selecione empty job.

3. Em Triggers, habilite Continuos Integration clicando no checkbox Enable continuous integration trigger.

Em branch filters escolha a branch que deseja habilitar o CI e volte para tasks.

4. Em Phase 1, clique em “+” e adicione o NuGet task.

5. Adicione a task Visual Studio solution e em MSBuild Arguments adicione os argumentos abaixo.

/p:CompilerTaskAssemblyFile="Microsoft.WindowsAzure.StreamAnalytics.Common.CompileService.dll" 
/p:ASATargetsFilePath="$(Build.SourcesDirectory)\packages\Microsoft.Azure.StreamAnalytics.CICD.1.8.0\build\StreamAnalytics.targets"

6. Adicionar task de Copy Files, se atente no source folder e target folder. Caso necessite copiar outros arquivos basta adicionar outra task de copy.

7. Adicione a task Publish Artifact com os valores padrão.

Criação da Release

8. Clique no menu release e então clique em “+ new release pipeline“.

9. Em select template, clique em empty job e então digite o nome do seu stage e clique no X.

10. Clique em “Add an artifact” e faça a busca pelo build criado e depois clique em “Add“.

11. Clique no raio, ative o Continous deployemnt e aponte para a branch que você deseja.

12. Vá para tasks, clique em “+” e selecione a task Azure Resource Group Deployment nos campos. Preencha conforme você configurou no Azure.

13. Selecione o seu template e o template de parâmetros ARM no artefato do build.

Espero ter ajudado, e caso tenha alguma dúvida, deixe nos comentários abaixo.

Muito obrigado, galera!