1
resposta

.

Estou com dúvida com relação a execução do código local. É possível fazer alguma alteração no código para que ele faça o teste local e suba para o GitHub? Existe uma forma de fazer essa alteração ou uma alteração que sempre que executar o código ele efetuar esse teste local sem subir para o GitHub?

1 resposta

Olá, Igor!

Para implementar o SonarScanner no workflow do GitHub Actions, você pode seguir os passos descritos na aula. Vou resumir e destacar os pontos principais para te ajudar a entender melhor o processo.

Passos para Configurar o SonarScanner no GitHub Actions

  1. Criação do Arquivo YAML:

    • Crie um arquivo chamado sonarqube-scan.yaml na pasta workflows do seu repositório.
    • Copie a estrutura básica do trufflehog-scan.yaml.
  2. Configuração Básica:

    • Altere o nome do workflow para Sonarqube Scan Test.
    • Mantenha o bloco on para definir a execução em cada pull request na branch main.
  3. Definição do Job:

    • Substitua o nome do job de trufflehog para sonarqube.
    • Adicione o passo de checkout do repositório.
  4. Instalação do SonarScanner:

    • Adicione um passo para fazer o download do SonarScanner.
    • Descompacte o arquivo .zip baixado.
  5. Execução do SonarScanner:

    • Adicione um passo para executar o SonarScanner com os parâmetros necessários.
    • Utilize variáveis de ambiente para o host e o token do SonarQube.

Exemplo Completo do Arquivo YAML

name: Sonarqube Scan Test

on:
 pull_request:
   branches:
     - main

jobs:
 sonarqube:
   runs-on: ubuntu-latest

   steps:
    - name: Checkout repository
      uses: actions/checkout@v2

    - name: Download SonarScanner
      run: |
        wget https://cdn3.gnarususercontent.com.br/3361-desenvolvimento-seguro/sonar-scanner-cli-5.0.1.3006-linux.zip
        unzip sonar-scanner-cli-5.0.1.3006-linux.zip

    - name: Run SonarScanner
      run: |
        ./sonar-scanner-5.0.1.3006-linux/bin/sonar-scanner -X \
           -Dsonar.projectKey=VollMed \
           -Dsonar.sources=. \
           -Dsonar.host.url=http://localhost:9000 \
           -Dsonar.login=$SONARQUBE_TOKEN
      env:
        SONARQUBE_TOKEN: ${{ secrets.SONARQUBE_TOKEN }}

Configuração de Secrets no GitHub

  1. Adicionar o Token como Secret:
    • No GitHub, vá para as configurações do repositório.
    • Navegue até "Secrets and Variables" e adicione um novo secret chamado SONARQUBE_TOKEN com o valor do seu token do SonarQube.

Observação Importante

O erro mencionado no final do contexto ocorre porque o GitHub Actions não consegue acessar serviços locais. Você precisará de um SonarQube hospedado externamente. Uma solução seria usar um serviço de hospedagem para o SonarQube ou configurar um SonarQube em um servidor acessível pela internet.

Espero ter ajudado e bons estudos!