NPM Audit with Gitlab
This tutorial will guide you on how to configure GitLab CI/CD to perform an NPM audit scan for vulnerabilities using SonarCloud.
Step 1: Define the stages and variables
Start by defining the stages of your pipeline and any necessary variables. In this case, we only have one stage, securitytesting, and we define two variables: SONAR_USER_HOME and GIT_DEPTH.
stages:
- securitytesting
variables:
SONAR_USER_HOME: "${CI_PROJECT_DIR}/.sonar" # Defines the location of the analysis task cache
GIT_DEPTH: "0" # Tells git to fetch all the branches of the project, required by the analysis task
Step 2: Define the sonarcloud-check job
Next, define a job for the securitytesting stage. We'll name this job sonarcloud-check. This job uses the sonarsource/sonar-scanner-cli:latest Docker image, and it has caching configured for the SonarCloud cache.
sonarcloud-check:
stage: securitytesting
image:
name: sonarsource/sonar-scanner-cli:latest
entrypoint: [""]
cache:
key: "${CI_JOB_NAME}"
paths:
- .sonar/cache
Step 3: Define the script for the sonarcloud-check job
The script for the sonarcloud-check job should call the sonar-scanner command with the necessary arguments for your project and organization.
script:
- sonar-scanner -Dsonar.projectKey=nishanthkp_employee-frontend-gitlab-demo-track3 -Dsonar.organization=nishanthkp
Step 4: Set the job to run only on the main branch
Lastly, we want the sonarcloud-check job to run only for the main branch.
only:
- main
Once you've completed these steps, commit and push the .gitlab-ci.yml file to your repository to set up the pipeline.