Para acessar o hub da imagem clique aqui.
Esta é a versão da imagem oficial do Sonar incluíndo apenas os plugins abaixo:
- Android
- Cobertura
- C#
- CSS
- Findbugs
- Java
- Checkstyle
- PMD
- Properties files
- Javascript
- json
- Kotlin
- Objective-C (versão open source)
- PHP
- Python
- Swift (versão open source)
- Typescript
- Web
- XML
- SVG Badges
- Timeline
- Score
- SCM:
- git
- SVN
Imaginando que o Docker já esteja instalado em sua máquina, basta executar o comando abaixo no diretório raiz deste repositório.
docker-compose up
Depois de algum tempo, acesse a URL http://localhost:9000.
Caso não tenha o Docker instalado na sua máquina, vale dar uma lida nessa documentação: https://docs.docker.com/install/.
Na Amazon, para criar uma máquina Elastic Beanstalk existem dois detalhes importantes:
- Use o arquivo Dockerrun.aws.json que está dentro de
tools/aws; - As variáveis de ambiente (que estão abaixo no comentário) devem ser criadas e preenchidas na configuração do EB em Software. No final desta sessão temos o espaço para preencher as variáveis de ambiente (o que é preenchido aqui é acessível pelo container como variável de ambiente);
SONARQUBE_JDBC_URL=jdbc:postgresql://YOUR-DATABASE-HOST:5432/sonar
SONARQUBE_JDBC_USERNAME=sonar
SONARQUBE_JDBC_PASSWORD=sonar
O usuário e senha inicial são: admin
Acesse pela primeira vez com ele para gerar a chave de acesso dos scripts que gerarão os relatórios.
Caso tenha feito alguma alteração no Dockerfile ou incluido algum plugin, para criar a imagem nova execute o comando abaixo:
./build-image.sh
- Criar o arquivo
gradle.properties: No diretório raiz do seu usuário deve existir uma pasta.gradle... Incluir dentro dessa pasta o arquivogradle.propertiescom o conteúdo abaixo.
systemProp.sonar.host.url=http://localhost:9000
systemProp.sonar.login=HASHGERADANOSONAR
Isso vai fazer o build da sua máquina apontar para o sonar que está local, para apontar para outra instancia do Sonar, basta alterar esses dados no arquivo de propriedades.
- No arquivo
build.gradletemos que incluir o seguinte:
apply plugin: 'jacoco'
apply plugin: 'org.sonarqube'
O jacoco monta o relatório de cobertura de testes. Dentro de buildScript -> dependencies inclua o seguinte:
classpath "org.sonarsource.scanner.gradle:sonarqube-gradle-plugin:2.6.2"
- Executar o build com envio do relatório.
gradle build sonarqube
Vai gerar o relatório e enviar ele para o server do sonar. aí é só consultar em: http://localhost:9000/projects
Dentro do diretório tools/scripts foi criado o script de exemplo scanner-npm.sh.
Abra este arquivo e altere o valor das variáveis de ambiente no inicio dele para atender seus projetos. Após isso, basta executá-lo:
./scanner-npm.sh
Para usuários Windows é necessário ter o terminal que emula linux (vem junto com o git).