O objetivo deste post, é explicar os procedimentos de instalação e configuração do SonarQube no ambiente Docker.
O que é SonarQube?
SonarQube é um software open-source que se propõe a ser a central de qualidade do seu código-fonte, lhe possibilitando o controle sobre um grande número de métricas de software, e ainda apontando uma série de possíveis bugs.
Instalação e configuração
A premissa é ter o Docker e Docker-Compose instalados, caso ainda não tenha, verifique Instalando Docker e Docker Compose no Linux (qualquer distro) ou Instalando Docker no Windows 10
$ mkdir $HOME/sonarqube
$ cd $HOME/sonarqube
Executar no HOST antes
Para que o nó do Elastiscsearch seja inicializado com sucesso, pois o SonarQube utiliza o Elasticsearch na indexação nas buscas.
Para verificar a vm.max_map_count atual, execute o seguinte comando:
$ cat /proc/sys/vm/max_map_count
Se a contagem de mapas não for 262144, siga estas etapas:
1. Atualize o arquivo /etc/sysctl.conf com o seguinte valor: vm.max_map_count=262144
2. Execute o comando a seguir para aplicar as alterações sem reiniciar o nó.
$ sudo sysctl -q -w vm.max_map_count=262144
$ curl -sSL https://raw.githubusercontent.com/bitnami/bitnami-docker-sonarqube/master/docker-compose.yml > docker-compose.yml
PS: Para utilizar no servidor de produção, é recomendado alterar a variável ALLOW_EMPTY_PASSWORD de "yes" para "no" e definir um password seguro para o SGBD PostgreSQL utilizado no SonarQube e o usuário administrador de acesso ao SonarQube.
Adicionar as variáveis SONARQUBE_USERNAME e SONARQUBE_PASSWORD para um nome de usuário e password que irá gerenciar o SonarQube.
$ docker-compose up -d
Aguarde subir o ambiente, após concluir, abre o browser e acesse http://localhost
No primeiro acesso, o username/password default são: admin/bitnami. Caso tenha alterado o username/password default no arquivo docker-compose.yml, então utilize o que você definiu.
Após o acesso do SonarQube, pode inserir as métricas de análise do código para o seu projeto e integrar com o SonarLint na IDE que estiver utilizando no desenvolvimento do seu projeto, também no CI/CD (Continuos Integrations/Continuos Delivery).
O que é CI/CD?
CI/CD (Continuous Integration/Continuous Delivery), é um método para entregar aplicações com frequência aos clientes. Para isso, é aplicada a automação nas etapas do desenvolvimento de aplicações.
Exemplos de ferramentas que fazem CI/CD: Jenkins, Bamboo, GitHub Actions, CircleCI.
Utilize a ferramenta CI/CD a sua escolha para o seu projeto. É importante ressaltar que essas ferramentas de CI/CD integram com o Git com as plataformas GitHub, Bitbucket e Gitlab.
Feito!
Nenhum comentário:
Postar um comentário