Skip to main content

DevSecOps

logo

CARTILHA DEVSECOPS

Objetivo

Este documento tem como objetivo definir o fluxo de desenvolvimento seguro das aplicações para o GAB.

Preparação para o desenvolvimento

Durante a fase de preparação do ambiente, o desenvolvedor deve instalar as ferramentas necessárias de acordo com a stack de desenvolvimento que atua. Uma lista de ferramentas homologadas está disponível em anexo para ajudar na escolha da IDE. Nossos projetos são revisados pelas plataformas SonarLint e SonarQube, que pertencem à SonarSource, uma empresa suíça especializada em soluções para varredura de código fonte. Essas plataformas garantem qualidade e segurança nas entregas contínuas. SonarLint é uma ferramenta que ajuda o desenvolvedor a seguir boas práticas de desenvolvimento seguro, identificando pontos vulneráveis no código e sugerindo soluções antes de enviar para o gerenciador de repositórios. Para configurar, o desenvolvedor deve solicitar ao time de infraestrutura a vinculação de seu usuário de rede ao projeto no SonarQube e gerar um token para integração com o SonarLint. O acesso ao Sonar é necessário para analisar os resultados da validação automática. Após a requisição do token de acesso, o desenvolvedor deve configurar o SonarLint para buscar as regras através do SonarQube.

✔️ Ao final desta etapa você deve ter conseguido:

  • Instalar a IDE para desenvolvimento
  • Acesso ao Token do SonarQube
  • Acesso ao projeto no SonarQube
  • Configurar o SonarLint na IDE

Se o desenvolvedor precisar se conectar ao banco de dados, ele deve instalar uma ferramenta de administração de banco de dados, que pode ser encontrada na tabela anexa.

✔️Ao final desta etapa você deve ter conseguido:

  • Instalar uma ferramenta de administração de banco de dados
  • Acessar o banco de dados

Para acessar o repositório do GitLab, o desenvolvedor deve acessar o link http://gitlab-gab.aguiabranca.com.br/ pela primeira vez, usando suas credenciais de rede. Isso vincula o usuário e permite que ele se torne membro dos projetos hospedados. Para concluir a configuração do ambiente de desenvolvimento, é necessário instalar uma ferramenta de gestão de repositórios Git, conforme indicado na tabela de apoio anexa.

✔️Ao final desta etapa você deve ter conseguido:

  • Efetuar o primeiro acesso no GitLab
  • Acessar o projeto no GitLab
  • Instalar a ferramenta do Git

✔️ Checklist para início das atividades

  • IDE para desenvolvimento instalada
  • Acesso ao Token do SonarQube
  • Ferramenta de administração de banco de dados instalada
  • Primeiro acesso no GitLab realizado
  • Acesso ao projeto no GitLab
  • Acesso ao projeto no SonarQube liberado
  • SonarLint configurado na IDE
  • Acesso ao banco de dados realizado
  • Ferramenta do Git instalada

Durante o desenvolvimento

Nesta etapa, o desenvolvedor deve prestar atenção às advertências do SonarLint e aplicar as correções antes de enviar o código final para o Git. Isso evita problemas de Code Smell e acelera o desenvolvimento, pois não é necessário submeter o código ao teste do SonarQube novamente

caution

Sempre crie branches de acordo com a atividade em andamento e evite fazer commits com muitas alterações ou inclusões de código fonte. Isso facilita a revisão de código e torna o processo mais preciso.

Todo commit deve passar por uma revisão em par do código gerado para evitar publicações com falhas lógicas no código e melhorar ainda mais a qualidade da entrega. Para solicitar a revisão de código, o desenvolvedor deve seguir os seguintes passos:

  1. Realizar o merge request para a branch “dev”;

  2. Marcar o desenvolvedor que será responsável por realizar a revisão;

  3. Submeter o merge request.

    Quando o desenvolvedor receber uma solicitação de revisão de código, ele deve abrir o merge e avaliar as mudanças no código para identificar problemas e melhorar a qualidade. Se necessário, ele pode propor uma solução alternativa para alcançar o mesmo objetivo, usando comentários no trecho do código fonte afetado. Depois que a revisão do código for concluída, o desenvolvedor responsável pelo código inicial deve aplicar as correções sugeridas e submeter novamente para análise. Ao final do ciclo de revisão do código, o desenvolvedor responsável pela análise aprova o merge e inicia o deploy no ambiente direcionado.

Testando a aplicação

Nesta etapa, o desenvolvedor deve usar a ferramenta apropriada para realizar testes unitários na linguagem de desenvolvimento escolhida. O sistema deve ter pelo menos 30% de cobertura de código nos testes unitários para atender aos critérios do SonarQube. Os critérios de teste são definidos ==durante o planejamento das atividades de desenvolvimento==.

DEPLOY

Todas as aplicações desenvolvidas são publicadas através de um processo de CI/CD, adotando o Git Flow. Quando um merge request é aprovado para uma branch vinculada a um serviço de aplicação (dev/hmg/prd), a pipeline é iniciada automaticamente.

A pipeline é responsável por realizar todo o fluxo de compilação, análise estática e de segurança, publicação e validação do serviço. Se houver algum problema nos passos programados ou se as métricas do Sonar não forem atingidas, a pipeline pode falhar. Se a pipeline falhar no passo do Sonar, o desenvolvedor deve acessar o relatório gerado, que está disponível através do link no log ou no link http://sonar-gab.aguiabranca.com.br/. Para acessar, basta usar suas credenciais de rede.

ANEXOS

Ferramentas

🛠️ IDE
🛠️ APOIO
🛠️ BANCO DE DADOS

Instalação do SonarLint no Visual Studio Code

  1. Clique em “Extensões”, pesquisar por SonarLint e clique em “Instalar”;
    captura
  2. Clique em “Configurações” e depois em “Configurações de Extensão”; captura2
  3. Clique em “Editar em settings.json” na seção “Sonarlint > Connected Mode > Connections: Sonarqube”; caputra3
  4. Editar os parâmetros “serverUrl” e “token” de acordo com os dados entregues pelo time de infra; captura4
  5. Acione as teclas “CTRL+SHIFT+P”, digite o comando “Update all project bindings to SonarQube/SonarCloud” e acione a tecla “Enter”; captura5 Após seguir os passos de instalação o SonarLint cria uma aba no rodapé da IDE chamada “Problemas” com as advertências encontradas. captura6

Instalação do SonarLint no Visual Studio

  1. Acesse o site https://www.sonarlint.org/visualstudio, clique em “Install for Free” e selecione a versão do Visual Studio instalada; vstudio1

  2. Clique em “Download” e salve o arquivo de extensão do VS; vstudio2

  3. Abra o arquivo de instalação baixado e clique em “Install”;

    vstudio3

  4. Após finalizada a instalação, clique em “Close”.

    vstudio4

Após instalado o SonarLint o código vai começar a ser analisado vstudio5

Relatório do SonarQube

  1. Acesse a URL http://sonar-gab.aguiabranca.com.br/ do SonarQube e efetuer o login com suas credenciais de rede;
  2. Verifique o resultado da análise; report1
  3. Navegue para a aba Issues e clique sobre os itens do relatório gerado; report2
  4. Verifique o motivo do problema e se necessário, busque uma solução; report3
  5. Faça um novo merge das melhorias aplicadas na plataforma.