O SonarQube é uma plataforma para inspeção de qualidade de código. O serviço pago (SonarCloud) pode ser um pouco caro. Abaixo apresento uma forma de hospedar você mesmo o SonarQube utilizando o Azure.
Crie uma App Service Linux no modo de publicação Container.
Escolha SKU/Tamanho no mínimo B1 (eu tentei na camada grátis, mas não deu certo)
Na App Service, no menu “Centro de Implantação” configure utilizando a imagem oficial do SonarQube.
Este comando de startup (-Dsonar.es.bootstrap.checks.disable=true
) é importante, do contrário ocorrerá um erro na inicialização do ElasticSearch:
max virtual memory areas vm.max_map_count [65530] is too low, increase to at least [262144]
Falando em erros no startup, uma forma legal de acompanhar é pelo Log Stream do Kudu (App Service > Ferramentas Avançadas)
É importante criar o banco de dados com o collation exigido pelo SonarQube: SQL_Latin1_General_CP1_CS_AS.
Caso contrário ocorrerá o erro abaixo:
(capturei esse erro pelo Log Stream do Kudu, quando tentei utilizar um SQL Azure sem o collation correto)
Para tudo correr bem, no momento da criação do SQL Azure utilize a opção “Ordenação” em “Configurações adicionais” e utilize o valor SQL_Latin1_General_CP1_CS_AS.
Para conectar o SonarQube ao SQL Azure criado, é necessário adicionar os seguintes parâmetros nas configurações da App Service:
Ex: jdbc:sqlserver://meu-server.database.windows.net:1433;database=meu-banco;encrypt=true;
Acesse o endereço da App Service e verifique o SonarQube em funcionamento. Se acabou de fazer o setup, ele pode demorar pra inicializar e até mesmo retornar erro de server algumas vezes. Acompanhe o Log Stream do Kudu para verificar se ocorre algum erro de inicialização.