Before running the build scan and tests, you need to create a session ID. The session ID is provided to each step in order link them together as one complete cycle
See 'Generating an Agent token' for instructions on how to generate a token
Our Node.js agents ( For Customers that need to set a specific recommended agent version other than the default latest, the API will provide the recommended agent version that has been set on the dedicated settings page from the dashboard. In the following examples, replace Linux PowerShell GitLab YMLAgent File
slnodejs
) are published in the npm registry. You download it and all its dependencies using the npm
repository commands.Downloading latest version
npm i slnodejs
Downloading the recommended version by Sealights (Best Practice)
$DOMAIN
with your domain and $SL_TOKEN
with your SeaLights agent token# Fetch Agent version defined in Sealights dashboard settings
$SLVERSION=$(curl -X GET "https://$DOMAIN.sealights.co/api/v2/agents/slnodejs/recommended" -H "accept: application/json" -H "Authorization: Bearer $SL_TOKEN" -L)
# Install Sealights Agent (Recommended version)
npm i slnodejs@$SLVERSION
# Fetch Agent version defined in Sealights dashboard settings
$SLVERSION = Invoke-RestMethod -Uri "https://$DOMAIN.sealights.co/api/v2/agents/slnodejs/recommended" -Headers @{ "accept" = "application/json", "Authorization" = "Bearer $SL_TOKEN"}
# Install Sealights Agent (Recommended version)
npm i "slnodejs@$SLVERSION"
before_script:
- apt-get -qq update && apt-get install -y jq
script:
- |
SLVERSION=$(curl -X GET "https://$DOMAIN.sealights.co/api/v2/agents/slnodejs/recommended" -H "accept: application/json" -H "Authorization: Bearer $SL_TOKEN" -L | jq -r .agent.version )
npm install slnodejs@$SLVERSION
Generating a session ID in Node.js
Generating a session ID in Node.js is done using the SeaLights Node.js Agent with the config flag
Unix: ./node_modules/.bin/slnodejs config --tokenfile /path/to/sltoken.txt --appname "myApp" --branch "master" --build "1" Windows: call .\node_modules\.bin\slnodejs config --tokenfile \path\to\sltoken.txt --appname "myApp" --branch "master" --build "1"
Each time this command successfully connects to your SeaLights instance, data structures will be created to store the build map, test monitoring data and, generally, data pertaining to this build of your application.
Each time you call this command, the trio of appname
/ branch
/ buildname
needs to be unique. Typically, the buildname
changes each time, as you will scan your build once following each build of your application.
You can provide a timestamp for the buildname
parameter. For example: --build `date +"%y%m%d_%H%M"`
(Linux) or --build (Get-Date $date -Format "yyyMMdd_HHmm")
(Windows Powershell)
The most common cause of the error message "Module already exists" indicates that the config command was likely called without changing the buildname
.
See 'Node.js Command Reference - Creating a session ID' for full parameter details
Using the session ID
The session ID will be printed to the console output and a file called 'buildSessionId
' will be generated containing it. The file can be used as is in the agent parameters or can be used to fill in an environment parameter to be in a command line.
Unix: export SL_BUILD_SESSION_ID=`cat buildSessionId` Windows: set /p SL_BUILD_SESSION_ID=<buildSessionId