Azure DevOps e SonarCloud - em nosso pipeline

jhonywalkeer

Jhony Walker

Posted on November 26, 2021

Azure DevOps e SonarCloud - em nosso pipeline

Banner

O SonarCloud é uma plataforma em nuvem para exibir o processo de inspeção continua do código de sua aplicação. Para isso, o SonarCloud utiliza o SonarQube para realizar a “varredura” em seu código fonte e analisar possíveis vulnerabilidade, erros e regras específicas da linguagem (Code Smells).

Como no exemplo iremos utilizar uma aplicação construída com Node.js, então podemos analisar os seguintes guias de referências:

Pipeline de Build

Com um projeto previamente commitado no Azure DevOps, iremos configurar nosso pipeline de build para criar um artefato para um futuro deploy e aproveitar para fazermos nossa inspeção contínua.

Azure Devops

Criação do pipeline

Em nosso Azure DevOps iremos acessar o menu de pipelines > builds.

Criando pipeline

E então criar um novo pipeline de build.

Novo build

Para este exemplo, vamos configurar utilizando o recurso de edição clássica, para isso basta clicar nesta opção:

Edição Classica

Vamos então selecionar o repositório que nosso código fonte se encontra.

Repositório

Para esta aplicação em Node.js, iremos utilizar o template para build e test de aplicação em Node.js respectivamente

Functions

Bom, agora já possuímos nossos passos de build, test, publish e geração do artefato. Agora iremos configurar a nossa análise de código com o SonarQube e SonarCloud.

Criação de Conta e Projeto no SonarCloud

É possível acessar o SonarCloud através de três opções:

  • Azure DevOps
  • Bitbucket
  • GitHub

Eu vinculei minha conta do GitHub para acesso ao SonarCloud.
Após o login, vamos criar uma nova organização para o nosso exemplo:

Login

Organização

Vamos criar de forma manual o endpoint de nossa organização.

Organização

Após criação da nova organização, iremos criar um novo projeto para análise do código.

Analisando

E então configurarmos uma chave de projeto.

Setup Manually

Na próxima etapa, será gerado um token a partir da descrição informada. Criado então o projeto de análise de código, vamos configurar em nosso pipeline de build.

Adicionando a extensão do SonarCloud

Para adicionar a extensão do SonarCloud, temos que clicar em novo agent job e pesquisar por “sonar cloud”. Após encontrar o SonarCloud no Marketplace, devemos então adiciona-lo em nosso Azure Devops.

Adicionando a extensão

Após adicionado como extensão na nossa organização do AzureDevOps, será liberado três novos templates para o nosso pipeline, sendo eles “Prepare Analysis Configuration”, “Run Code Analysis” e “Publish Quality Gate Result”.

Template Pipeline

Para que funcione corretamente a análise do código. Devemos adicionar na sequência correta esses três passos no pipeline.

  1. Sendo primeiro a preparação da análise “Prepare analysis on SonarCloud”.
  2. Logo em seguida devemos adicionar o build do projeto. No caso um projeto em .net core, então iremos utilizar o comando de dotnet build.
  3. Depois adicionaremos o passo de execução da análise “Run Code Analysis”.
  4. E por fim, publicaremos os resultados “Publish Quality Gate Result”.

Essa sequência se faz necessário pois ao iniciar a preparação da análise, o SonarCloud passa a “escutar” o diretório, então logo mais será compilado o código para esta verificação e então será executado e publicado a análise.

Configurações do “Prepare Analysis Configuration”

Vamos verificar que a etapa de configurações de preparo da análise requer algumas atenções de configurações.

Prepare Analysis Configuration

Primeiro, vamos criar nossa conexão com o SonarCloud clicando no botão “New”.

Será necessário informar o nome da conexão, sendo a chave do produto informada no SonarCloud e o token gerado para o projeto criado.

Service connection

Após este passo, basta selecionar o nome da organização.

Organização

Outra configuração importante é a Utilização do Standalone Scanner e Manually provide configuration. Também poderíamos deixar integrado com o MSBuild.

Selecionando a configuração manual, será necessário informar novamente a chave do projeto que será testado no SonarCloud.

configuração manual

Pronto! Agora é só salvar e mandar executar o nosso build. Clique no botão “Save and Queue”.

Save and Queue

Build com Sucesso

Ao acessar os detalhes do build que foi gerado, podemos observar que as etapas foram concluídas com sucesso e inclusive que o resultado foi publicado no SonarCloud.

Build

Verificando o relatório no SonarCloud

Ao acessar o projeto no SonarCloud e selecionar branch do nosso código, verificamos que o nosso código passou pela análise do SonarQube.

Relatório no SonarCloud

O Bacana é que a cada novo build, as novas funcionalidades adicionadas em nosso código serão novamente analisadas e novo relatório será gerado.

Com isso a gente consegue garantir uma qualidade do código que será entregue para o cliente. Sempre se preocupando com as questões de seguranças, vulnerabilidades e padrões da linguagem.

Fontes onde pesquisei esse conteúdo:

💖 💪 🙅 🚩
jhonywalkeer
Jhony Walker

Posted on November 26, 2021

Join Our Newsletter. No Spam, Only the good stuff.

Sign up to receive the latest update from our blog.

Related