suponha um cenário: depois de confirmar o código no GitHub. Quero seguir minha qualidade de código, conhecer bugs, vulnerabilidades, cheiros de código, etc. (análise de código estático) para meu código antes de construir meu código automaticamente com Jenkins e quero que essa atividade seja executada toda vez que eu cometer código.
neste cenário para inspeção contínua e Integração Contínua do Código. Seguiremos as melhores práticas usando a integração GitHub-Jenkins-SonarQube para este cenário.
fluxo : Assim que o desenvolvedor confirmar o código para o GitHub, o Jenkins buscará / puxará o código do repositório e executará a análise de código estático com a ajuda do Sonar Scanner e enviará o relatório de análise para o servidor SonarQube, então ele construirá automaticamente o código do projeto.
pré-requisito :
- Jenkins está configurado com GitHub com algum gatilho de compilação (no meu caso, seu SCM de enquete) se isso não for feito, siga este tutorial— https://medium.com/@amitvermaa93/jenkins-github-with-java-maven-project-c17cdba7062
- o SonarQube está em execução e você tem a configuração do Sonar Scanner no sistema. Se não, siga o tutorial- https://medium.com/@amitvermaa93/sonarqube-setup-windows-e6a6c01be025
Etapa 1. Abrir SonarQube de servidor Ir para a Administração > clique em Segurança > Usuários > Clique em Tokens (imagem 1)> Gerar token com algum nome > Copie o token (imagem 2), ele será usado em Jenkins para o Sonar de autenticação.
Passo 2. O programa de configuração SonarQube com Jenkins – Vá para Gerenciar Jenkins > Configurar sistema > SonarQube seção de servidor > Adicionar SonarQube > o Nome, fornecer a Url do Servidor como http://<IP>:<porto> > e o token de autenticação copiados de SonarQube Servidor > Aplicar e Salvar
Passo 3. Instalar o plugin SonarQube para Jenkins. Vá para gerenciar Jenkins > Gerenciar Plugins > disponível > Procure por SonarQube Scanner > instalar.
Download SonarScanner se você não tem https://docs.sonarqube.org/display/SCAN/Analyzing+with+SonarQube+Scanner
Configurar o Sonar Scanner em Jenkins : Ir para a Sarna Jenkins > Global Ferramenta de Configuração > Desloque-se para SonarQube Scanner > Adicionar sonar scanner > o nome, desmarque esta opção se você já tiver sonar então ele irá baixar automaticamente para você e seu sonar de configuração do scanner será feito(no meu caso, eu já tenho) > forneça o caminho para o sonar corredor de casa, como na imagem abaixo
Passo 4. Criar um Trabalho Novo Item > Nome e selecione um tipo de projeto (no meu caso, estou selecionando projeto Maven, você pode optar por freestyle bem)
Passo 5. Defina Git na seção SCM e use * * * * * para Poll SCM na seção Build Trigger. Em Ambiente de Compilação seção adicionar pré-buid passo > selecione Executar SonarQube Scanner
Passo 6. Criar um .arquivo de propriedades em qualquer local e fornecer caminho na tarefa como abaixo(eu o criei na pasta Jenkins workspace). Este arquivo de propriedade será específico do projeto. Ele contém certas sonar propriedades como a pasta em que deseja procurar, em qual pasta para excluir da verificação, que é a chave de projeto e muitos mais, você pode vê-lo https://docs.sonarqube.org/display/SCAN/Analyzing+with+SonarQube+Scanner
Dentro do sonar de varredura.propriedades escreva abaixo do Código –
sonar.como baixar e instalar Minecraft.fonte=./ src
para mantê-lo simples, usei apenas duas propriedades(como acima), sonar.a propriedade projectKey criará um projeto dentro do seu servidor SonarQube com o mesmo nome se o projeto não existir, senão anexará a análise a ele, sonar.fontes define aquela pasta a ser digitalizada. Você pode fornecer o caminho relativo do espaço de trabalho do Jenkins Job ou o caminho real para a pasta que deseja digitalizar.
desde que eu usei ./ src (use / para Caminho do windows) isso significa que estou atualmente no meu espaço de trabalho, ou seja, em C:\Users\Amit Verma\.jenkins \ workspace \ Jenkins-GitHub-SonarQube localização e a partir daqui estou fornecendo o caminho para a pasta(src) que desejo digitalizar.
Passo 7. Construa o trabalho. Após a compilação bem-sucedida, se você puder ver os logs de compilação, ele mostrará os arquivos e a pasta que digitalizou e, após a digitalização, postou o relatório de análise no servidor SonarQube que você integrou.
Passo 8. No painel de trabalho, clique no ícone sonar ou navegue até o servidor Sonar clique em projetos (no cabeçalho) você verá um novo projeto com a mesma chave de projeto que você deu no sonar-scanner.arquivo de propriedades. Agora você pode ir dentro de seu projeto e analisar o relatório de