TBC: Explain how to work with pipeline job
Table of Contents |
---|
Sample script for Maven integration (Java Agent)
Code Block | ||
---|---|---|
| ||
pipeline {
agent any
environment {
SAMPLE_SL_TOKEN = "eyJhbGci...IgETt24"
}
tools {
jdk '1.8'
}
stages {
stage('Git') {
steps {
// Wipe out workspace
cleanWs()
// Get some code from a GitHub repository
git 'https://github.com/marcsealights/java-gps-calorie-calculator.git'
}
}
stage ("Adding Sealights") {
steps {
script {
sh '''
set +x
echo "Downloading Sealights Latest Agent..."
wget -nv https://agents.sealights.co/sealights-java/sealights-java-latest.zip
unzip -o sealights-java-latest.zip
echo "Local agent version is now:" `cat sealights-java-version.txt`
echo '{
"token": "${env.SAMPLE_SL_TOKEN}",
"createBuildSessionId": true,
"appName": "${env.JOB_NAME}",
"branchName": "master",
"buildName": "${env.BUILD_NUMBER}",
"packagesIncluded": "*info.puzz.*",
"packagesExcluded": "",
"filesIncluded": "*.class",
"filesExcluded": "*test-classes*",
"recursive": true,
"includeResources": true,
"testStage": "Unit Tests",
"labId": null,
"executionType": "full",
"logEnabled": true,
"logDestination": "console",
"logLevel": "error",
"logFolder": "/tmp",
"sealightsJvmParams": {},
"enabled": true
}' > slmaven.json
echo "Updating POM with Sealights..."
java -jar sl-build-scanner.jar -pom -configfile slmaven.json -workspacepath .
'''
}
}
}
stage('Build') {
steps {
// Run Maven with regular command
sh "mvn clean package"
}
}
}
} |
...
Using Token form Jenkins Credentials
You can define an entry in your Jenkins Credentials to store your Agent token and use it in your pipeline script.
...
You can refer to it from your script as follow
Code Block |
---|
withCredentials([string(credentialsId: 'sl.agent.token.dev.cs', variable: 'SL_TOKEN')]) {
sh '''
echo -n "$SL_TOKEN" > sltoken.txt
'''
} |