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.