Miguel-Bit-Debug / Sonarqube

We will to see how to make a web api and how to implement sonarqube in the gitlab pipeline

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Configuração do sonarqube no GITLAB em um projeto .NET Core

Acessar o gitlab e criar um novo projeto

  • images.png

  • Escolher essa opção:

  • images.png

  • Escolher nome e criar novo projeto

  • images.png

  • Faça o clone do seu projeto

  • images.png

  • Com terminal aberto execute o comando:

  • images.png

  • Também vamos precisar de um projeto de testes:

  • images.png

  • Vamos adicionar a referência da nossa API no projeto de testes

  • images.png

  • Perceba que foi adicionado a referência no arquivo Tests.csproj

  • images.png

  • Vamos apagar o arquivo da pasta Controller e criar um HomeController com o seguinte código:

  • images.png

  • Dentro do projeto de Tests vamos criar uma pasta chamada Controllers.Tests e um arquivo chamado HomeControllerTest com o seguinte código:

  • images.png

O projeto de API e TESTS estão configurados, vamos configurar o sonarqube

  • Com o docker vamos executar o seguinte comando:

  • images.png

  • Após a execução do comando vamos entrar em http://localhost:9000 fazer o login (user e password são: admin)

  • images.png

Após o login será necessário trocar a senha

  • images.png

  • Acessando o painel do sonarqube vamos clicar em manualy

  • images.png

  • Vamos adicionar um nome e uma project key

  • images.png

  • Vamos selecionar a opção gitlab

  • images.png

  • Vamos escolher a linguagem/framework, nesse caso .NET

  • images.png

  • O tutorial diz para criarmos essas variaveis no gitlab

  • images.png

  • Vamos clicar em Generate Token para gerar o token de acesso ao sonarqube

  • images.png

  • Copie o Token de acesso ao sonarqube, vamos ao gitlab na opção de configurações>CI/CD

  • images.png

  • Na opção de variaveis vamos clicar em EXPAND

  • images.png

  • Vamos adicionar as variaveis do sonarqube

  • images.png

  • images.png

  • Na variavel SONAR_HOST_URL precisamos adicionar o IP ou DNS da maquina que está executando o sonarqube / runner (vamos configurar o runner ainda)

  • images.png

  • Na terceira etapa do tutorial precisamos criar um arquivo no nosso projeto chamado .gitlab-ci.yml, esse arquivo é o triger para disparar a pipeline do gitlab

  • images.png

  • Vamos criar o arquivo .gitlab-ci.yml na raiz do projeto e colar o script sugerido pelo tutorial do sonarqube

  • images.png

  • Ao entrar no menu CI/CD>Pipeline, vamos ver que é necessário um runner para executar o script yml que criamos

  • images.png

  • Antes de configurar o runner, vamos fazer algumas mudanças no arquivo yml com o seguinte código:

  • images.png

  • Nesse momento se commitarmos o código perceba que no menu de CI/CD>Pipeline foi criado uma nova pipeline porém não está sendo executada

  • images.png

  • Para que a pipeline seja executada precisamos configurar o runner que é o software que vai executar o arquivo yml

  • images.png

Configuração do runner

  • Instalação do runner DOCUMENTAÇÃO RUNNER instale de acordo com o S.O que você estiver usando, no meu caso devo baixar o binário para windows (x64)

  • images.png

  • Vamos no menu Settings>CI/CD e copiar a url e registration token

  • images.png

  • É importante que a opção (Enable shared runners for this project) esteja desabilitada

  • images.png

  • Mova o executável para C: e excute os comandos - Se aparecer acesso negado, execute o gitlab-runner como admin

  • images.png

  • Execute o gitlab-runner register com os parametros a seguir:

  • images.png

  • O runner foi criado, perceba que ainda não está ativo

  • images.png

  • Execute o comando a seguir e perceba que o runner já está ativo

  • images.png

  • Agora só precisamos executar o comando a seguir:

  • images.png

  • Já temos uma pipeline sendo executada

  • images.png

  • Com isso podemos finalizar a etapa 3 do tutorial do sonarqube e ir para etapa 4 que é somente aguardar a pipeline executar os comandos do sonarqube

  • images.png

  • Após finalização da pipeline, conseguimos finalizar a implementação do sonarqube no gitlab em um projeto .net

  • images.png

  • images.png

About

We will to see how to make a web api and how to implement sonarqube in the gitlab pipeline


Languages

Language:C# 100.0%