Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Table of Contents
printablefalse

...

Create a JSON configuration file with the following parameters in order to provide the necessary configuration fields to the SeaLights Maven plugin:

...

  1. configuration section with the following parameters
    1. token or tokenFile - set with a token or a file containing the token obtained from the SeaLights dashboard
    2. If you create a Build Session ID externally, provide the following fields:
      1. buildSessionId or buildSessionIdFile - Set with a build session id or a file containing the build session id created by the config step
      2. createBuildSessionId - Set to false
    3. If you want to create a Build Session ID using the SeaLights Maven plugin, provide the following fields:
      1. createBuildSessionId - Set to true
      2. appName - Name of the application as you want to see it on the SeaLights dashboard
      3. branchName - Name of the branch as you want to see it on the SeaLights dashboard
      4. buildName - Name of the build as you want to see it on the SeaLights dashboard
      5. packagesIncludedComma-separated list of packages to include in scan. Note: This is defining a subset, so it must include the astrix to include all sub packages/classes
      6. packagesExcluded - (Optional) Comma-separated list of packages to include in scan.  Note: This is defining a subset, so it must include the astrix to include all sub packages/classes
    4. executionType - Provide which executions need to handled by the Maven plugin
      1. full - Execute both the build scanner and the test listener
      2. testsonlyExecute only the test listener
    5. filesincluded - (Optional) Set to the binary files to scan. Default: *.class
    6. filesexcluded - (Optional) Set to the binary files to excluded from the scan. Default:*test-classes*
    7. workspacepath - Set to with the path to the binary files to scan (Different per module). Default: ${project.build.outputDirectory}
      Note: there are rare cases that this needs to be changed. Make sure you really need to change it before doing so.
    8. recursive - (Optional) Set to true to scan all the subdirectories of workspacepath. Default: true
    9. includeResources - (Optional) Set to include the token and build session ID files in the built resources
    10. testStage - (Optional) Set the name of the test stage as will be displayed on the SeaLights dashboard
    11. labId - (Optional) Unique ID for a set of test labs in case multiple labs are running simultaneously
    12. filesStorage - Set to the temp folder for the agent to create temporary files in. For example /tmp
    13. logEnabled - Set to true if you want a log to be created
    14. logLevel - Set the log level to create. For example INFO
    15. proxy - (Optional) Address of proxy to run connection through
    16. sealightsJvmParams - Entry to provide JVM params to the SeaLights agent. It should be of the format {"key1":"val1", "key2":"val2"}
    17. metadata section with CI details
      1. jobName - Set to the name of the build job. For example ${JOB_NAME}
      2. logsUrl - Set to the link that the SeaLights dashboard should provide to view the build log. For example ${BUILD_URL}/console
    18. enabled - (Optional) Set to false to disable SeaLights agent. Default: true.


Note
  • If you override the surefire <argLine>...</argLine> then you need to add the SeaLights parameters inside the override value. See Surefire integration
  • Do not call the JSON file 'sealights.json' as the agent uses this file name for override options
  • For troubleshooting purpose,  you can use "buildName":"SL_Timestamp" in your JSON file to have the Sealights Maven plugin generating automatically a time stamp (yyyy.MM.dd-hh.mm format) as a default buildname


Info

See 'Java Command Reference - Installing test listener as Java Agent' for more parameter values and information

...

Info

If your on premise SCM version is often updated in order to comply with latest security patches for example, you can also provide a version retrieved dynamically as the sample command lines below

  • GitHub on-prem: githubVersion=`curl -sI https://github.mycompany.com/api/v3 | grep Version | awk '{print $2}' | tr -d '\r'`   
  • Bitbucket: bitbucketVersion=`curl -s https://mybitbucket.mycompany.com/rest/api/1.0/application-properties | jq -r .version`
  • GitLab: gitlabVersion=`curl https://mygitlab.mycompany.com/api/v4/version | jq -r .version`

Surefire and Failsafe argLine update

If you have configured the argLine for surefire and/or failsafe, the integration will include adding @{sealightsArgLine} to them.
This can be updated/overridden by adding and updating the following parameters to the json file:

  • surefireArgLine - Whatever is defined here will be updated in the argLine of surefire if it exists. By default '@{sealightsArgLine}'
  • failsafeArgLine - Whatever is defined here will be updated in the argLine of failsafe if it exists. By default '@{sealightsArgLine} -Dsl.testStage="Integration Tests"'
Code Block
titleSample of Surefire and Failsafe argLine update
"surefireArgLine": "-Xms1280m -Xmx1280m @{sealightsArgLine}"
"failsafeArgLine": "-Xmx8192m @{sealightsArgLine} -Dsl.testStage=\"Integration Tests\""

...