Subindo um container docker do sonar qube no Azure ACI

Richard Hessel
3 min readApr 16, 2020

--

Como pode ser simples a execução de uma instância do sonar utilizando containers

O sonarqube é uma das ferramentas mais utilizadas para o processo de análise de código e o docker é sem dúvida a solução mais conhecida para trabalhar com containers.

Hoje vou demonstrar um passo a passo para termos uma instância de sonarqube no ar usando docker e o azure container instance (ACI).

Primeiro devemos logar no portal do azure e pesquisar por "Container instances":

Após selecionar a opção devemos adicionar um novo recurso:

Após inserirmos no grupo de recurso desejado definimos um nome para o container, a região, indicaremos que o source da imagem será o docker hub e o tipo de imagem será "Public" e em seguida definiremos o nome da imagem (sonarqube) que podemos encontrar no docker hub:

e alteramos as configurações de recursos disponibilizados para o nosso container. Para não termos problemas de memória ou CPU com a nossa instância iremos disponibilizar 3.5gb de RAM e 2 cores de CPU.

Clicamos em avançar:

Definimos uma DNS para o nosso container e liberamos a porta 9000 (porta default do sonar)

Seguimos até o final dos passos e clicamos para criar a nossa instância!

Após finalizada a criação do recurso pelo azure podemos navegar até a DNS que definimos e

aqui está o nosso sonar rodando com sucesso!

Para executar o login podemos utilizar o usuario e senha padrões: admin

Tela inicial após login

Agora vamos criar um projeto novo

Definimos uma chave e um nome para o nosso projeto

Após gerado o token podemos utilizar essas informações para executar a análise de código localmente ou conectar um job CI para executar o processo de análise de código em um pipeline!

PS: O processo detalhado acima é valido para fins didáticos, para cenários em produção o ideal é que utilizemos uma base de dados externa para integrar com o sonar e especificando volumes para a imagem (quando há uma queda do container e ele precisa ser reiniciado perdemos todos os projetos configurados, análises realizadas etc.)

--

--

Richard Hessel

Desenvolvedor de software e entusiasta das ferramentas de IaaC