Skip to main content

Voorbereiding

De voorbereiding voor de les is niet optioneel. Ongeveer de helft van al het werk voor de opleiding moet je in eigen tijd uitvoeren, en daar hoort deze lesvoorbereiding ook bij. Als je de lesvoorbereiding niet hebt gedaan is het niet zinnig of zelfs hinderlijk om naar de les te komen.

Lees 'Static + Dynamic Code Analysis with SonarQube'

Lees het artikel Static + Dynamic Code Analysis with SonarQube tot aan 'Setup SonarQube'. Je hoeft de stappen in het artikel niet uit te voeren, dat doen we in de volgende opdracht.

LET OP: vind je het artikel lastig te lezen door het gebruik van het Engels, dan kan je een LLM gebruiken om de tekst om te zetten in beter Engels, zonder dat de inhoud ervan verandert. Dat moet je dan wel in de prompt vermelden. Dit kan je altijd doen wanneer je een artikel tegenkomt waarvan je denkt dat de inhoud goed is, maar de vorm/stijl niet.

Voer de onderstaande voorbereiding uit

  1. Zorg dat je Docker Desktop geinstalleerd hebt.
  2. Run de volgende commando's in een terminal:
    docker run -d --name sonarqube -e SONAR_ES_BOOTSTRAP_CHECKS_DISABLE=true -p 9000:9000 sonarqube:latest
  3. Ga naar http://localhost:9000 en log in met admin/admin. Wijzig je wachtwoord naar iets anders dan admin, iets wat je goed kunt onthouden. Ga naar http://localhost:9000/account en selecteer de Security-tab. Maak een nieuw token aan met de naam sq met type 'Global Analysis Token' en kopieer de token naar een veilige plek.
  4. Run in een terminal '''docker inspect sonarqube''' en zoek naar het IP-adres van de container. Dit is het IP-adres van de SonarQube-server.
  5. Run een test-analyse op jouw React-broncode met behulp van de volgende commando's. Vervang IP-adres van de SonarQube-server door het ip-adres uit stap 3. Vervang ${YOUR_REPO} met de volledige locatie van jouw project op je lokale machine (dat is de 'src' map van de frontend-map van de weekopdracht, bijvoorbeeld: /Users/rodmidde/Documents/Workspaces/se-workspace/teex-opdracht-2/frontend/src). Vervang <myAuthenticationToken> met de token die je in stap 3 hebt aangemaakt.
    docker run \
    --rm \
    -e SONAR_HOST_URL="http://<IP-adres van de SonarQube-server>:9000" \
    -e SONAR_SCANNER_OPTS="-Dsonar.projectKey=teex-week2" \
    -e SONAR_TOKEN="<myAuthenticationToken>" \
    -v "${YOUR_REPO}:/usr/src" \
    sonarsource/sonar-scanner-cli
  6. Ga naar http://localhost:9000/projects en bekijk de resultaten van de analyse.
  7. Ga naar http://localhost:9000/profiles en ga naar de JavaScript profile 'Sonar way' en klik op de drie puntjes en ga naar 'Extend', kies TEEX-profile als nieuwe naam. Activeer alle nog niet actieve regels en maak van het TEEX-profile de default profile.
  8. Run de analyse opnieuw en bekijk de resultaten.