Configurando o Sonarqube
O SonarQube fornece uma visão geral do funcionamento geral e da qualidade do seu código-fonte e destaca os problemas encontrados no novo código. Os analisadores de código detectam erros difíceis, como desreferência de ponteiro nulo, erros lógicos e fugas de recursos, em mais de 20 linguagens de codificação.
Configure o SonarQube para continuamente analisar e medir a qualidade de seu código-fonte:
-
No console IBM Cloud, clique no ícone
Menu > Automação da plataforma > Cadeias de ferramentas. Na página Cadeias de ferramentas, clique na cadeia de ferramentas para abrir a sua página de Visão geral. Como alternativa, na página Visão Geral do seu app, no cartão Entrega contínua, clique em Visualizar a cadeia de ferramentas. Em seguida, clique em Visão geral.
a. Clique em Incluir uma ferramenta.
b. Na seção Integrações de ferramentas, clique em SonarQube.
-
Digite um nome para essa instância da integração de ferramenta SonarQube.
-
Digite a URL para a instância SonarQube que você deseja abrir ao clicar no cartão SonarQube de sua cadeia de ferramentas.
-
Opcional: Digite o nome de usuário que você usa para se conectar ao servidor SonarQube.
Será necessário especificar um nome do usuário apenas se você usar uma senha para se conectar ao servidor do SonarQube. Se você usar um token de autenticação para se conectar, deixe esse campo vazio.
-
Digite a senha ou o token de autenticação que deseja usar para se conectar ao servidor SonarQube.
-
Caso não seja possível localizar o servidor na Internet pública, selecione Avançado. O IBM Cloud não é capaz de validar os detalhes de conexão fornecidos e algumas funções que exigem que esse servidor tenha acesso à API estão desativadas. O pipeline de entrega funciona apenas usando um trabalhador privado que tem acesso de rede a este servidor.
-
Clique em Criar integração.
-
Na página de visão geral da sua cadeia de ferramentas, na placa Ferramentas de terceiros, clique em SonarQube para visualizar o painel para a instância do SonarQube à qual você se conectou.
Incluindo Sonarqube no pipeline de integração contínua
Instância padrão do SonarQube
Caso você não tenha uma instância própria do SonarQube, durante sua execução, o pipeline criará uma instância do SonarQube. É possível acessar esta instância após o estágio de varredura estática ser executado com sucesso.
Instância existente do SonarQube
Para incluir a sua própria instância do SonarQube ao seu pipeline existente, inclua a integração da ferramentas em sua cadeia de ferramentas e, em seguida, inclua o parâmetro de integração da ferramenta Sonarqube no pipeline.
Parâmetros necessários
Para executar a varredura do SonarQube, o pipeline precisa dos parâmetros de integração contínua a seguir:
Nome | Tipo | Descrição | Obrigatório ou opcional |
---|---|---|---|
cluster-nome | Texto | O nome do cluster de construção do Docker. | Obrigatório |
dev-region | Texto | A região do IBM Cloud que hospeda o cluster. | Obrigatório |
opt-in-sonar | Texto | A opção para ativar a varredura do sonarQube. | Obrigatório |
sonarqube | integração de ferramenta | A integração da ferramenta Sonarqube. | Opcional |
Para obter mais informações sobre parâmetros de pipelines, consulte Parâmetros de pipeline.
Se você incluir várias integrações da ferramenta SonarQube em seu pipeline, poderá alternar entre elas mudando o valor do parâmetro sonarqube pipeline, que é um parâmetro de integração de ferramentas.
Atualizando a porta de qualidade
Se você usar a instância do SonarQube que o pipeline criou, poderá atualizar a porta de qualidade padrão.
-
Acesse o painel do SonarQube que foi criado pela URL nos logs de pipeline na tarefa
static-scan
.SonarQube dashboars -
Clique em Portas de qualidade > Criar.
-
Configure a sua Porta de Qualidade usando uma das opções a seguir:
- Clique em Configurar como padrão para configurar a porta de qualidade recém-criada como o padrão.
- No painel, selecione o projeto e, em seguida, clique em Configurações do projeto > Porta de qualidade para usar a portal de qualidade recém-criada para o projeto.
-
Especifique qual porta de qualidade você deseja associar ao projeto. Novas varreduras são avaliadas por esta porta de qualidade e evidências são criadas pelos resultados da porta de qualidade.
Para saber mais sobre o SonarQube, consulte DocumentaçãoSonarQube.
Usando o seu próprio arquivo de configuração
É possível modificar a configuração padrão sem usar a sua própria instância do SonarQube. Crie um arquivo sonar-project.properties
no repositório no qual você deseja criar o arquivo de configuração. Se o nosso script detectar
um arquivo de configuração configuration sonar-project.properties
existente no repositório, ele usará esse arquivo em vez do arquivo padrão. Para obter mais informações sobre os possíveis parâmetros de análise no arquivo de
configuração, consulte Parâmetros de análise aqui.
Certifique-se de incluir as credenciais de login e a URL do host corretas no arquivo de configuração.
Usando outra implementação de varredura estática
É possível modificar seu arquivo .pipeline-config.yaml
para incluir seu próprio script customizado no estágio static-scan
para usar a sua própria implementação de varredura estática.
Configuração do SonarQube usando a API
A integração de ferramenta SonarQube suporta os parâmetros de configuração a seguir que podem ser usados com a API de HTTP e SDKs da cadeia de ferramentas ao criar, lere atualizar integrações de ferramenta.
Você deve especificar a propriedade tool_type_id
no corpo da solicitação com o valor sonarqube
.
Parâmetro | Uso | Tipo | Argumento de Terraform | Descrição |
---|---|---|---|---|
blind_conexão | opcional, atualizável, ' Default: false |
Booleano | blind_conexão | Configure como true para instruir Continuous Delivery para ignorar a validação de configuração dessa integração. Além disso, configure como true se o servidor SonarQube não for endereçável na Internet pública |
Dashboard_url | necessário, atualizável | Sequência | server_url | A URL dos dashboars do servidor SonarQube para essa integração de ferramenta Na IU gráfica, o navegador vai para esse painel quando você clica no cartão de integração da ferramenta SonarQube |
nome | necessário, atualizável | Sequência | nome | O nome dessa integração de ferramenta. |
user_login | opcional, atualizável | Sequência | user_login | O ID do usuário para autenticação com o servidor SonarQube. |
user_password | opcional, atualizável | Senha | user_password | A senha ou o token para autenticar com o servidor SonarQube. Você pode usar uma referência de segredos de cadeia de ferramentas para este parâmetro. Para obter mais informações sobre referências de segredos, consulte Protegendo seus dados sensíveis em Continuous Delivery. |