Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 60 Next »

Agent Files

There are two agent files

  • Build Scanner - sl-build-scanner.jar

  • Test Listener - sl-test-listener.jar

Download them from: https://agents.sealights.co/sealights-java/sealights-java-latest.zip

Build Scanner

Creating a session ID

Standard Session ID

Usage
java -jar sl-build-scanner.jar -config {-token  <arg> | -tokenfile <arg>} -appname <arg> -branchname <arg> -buildname <arg> -pi <arg> [-pe <arg>] [-buildsessionid <arg>] [-proxy <arg>] [-buildsessionidfile <arg>] 
ParameterDescription
token
Access token generated from the SeaLights server
tokenfile
Path to file containing access token generated from the SeaLights server
appname
Name of the application
branchname
The source branch of the application
buildname
The build label of the current build
pi, packagesincluded

Comma-separated list of packages to include in scan

Supports wildcards (* = any string, ? = any character). For example: 'com.example.* ,io.*.demo, com.?ello.world'

pe,packagesexcluded

Comma-separated list of packages to exclude from scan

Supports wildcards (* = any string, ? = any character). For example: 'com.example.* ,io.*.demo, com.?ello.world'

buildsessionid 
Optional: A user provided session ID
proxy
Address of proxy to run connection through
buildsessionidfilePath to a file to save the build session id in. Default: buildSessionId.txt

Pull Request Session ID

Usage
java -jar sl-build-scanner.jar -prConfig {-token  <arg> | -tokenfile <arg>} -appname <arg> -targetBranch <arg> -latestCommit <arg> -pullRequestNumber <arg> -repoUrl <arg> -pi <arg> [-pe <arg>] [-proxy <arg>] [-buildsessionidfile <arg>] 
ParameterDescription
token
Access token generated from the SeaLights server
tokenfile
Path to file containing access token generated from the SeaLights server
appname
Name of the application

targetBranch

The branch to which this PR will be merged into (already reported to SeaLights)

latestCommit

The full SHA of the last commit made to the Pull Request

pullRequestNumber

The number assigned to the Pull Request from the source control

repoUrl

The pull request URL for the PR to be scanned, up until the section before the pullRequestNumber value

pi, packagesincluded

Comma-separated list of packages to include in scan

Supports wildcards (* = any string, ? = any character). For example: 'com.example.* ,io.*.demo, com.?ello.world'

pe,packagesexcluded

Comma-separated list of packages to exclude from scan

Supports wildcards (* = any string, ? = any character). For example: 'com.example.* ,io.*.demo, com.?ello.world'

proxy
Address of proxy to run connection through
buildsessionidfilePath to a file to save the build session id in. Default: buildSessionId.txt


Scanning a build

Usage
java -jar sl-build-scanner.jar -scan {-token  <arg> | -tokenfile <arg>} {-buildsessionid <arg> | -buildsessionidfile <arg>} [-workspacepath <arg>] [-r] [-baseSourceFolder <arg>] [-componentfile <arg>] [-enableNoneZeroErrorCode] [-fe <arg>] [-fi <arg>] [-moduleName <arg>] [-npf | -pfn <arg>] [-pathToMetaJson <arg>] [-proxy <arg>] [-scmProvider <arg>] [-scmBaseUrl <arg>] [-scmVersion <arg>] [-scm {git|none}] [-customFilterFile <arg>]  
ParameterDescription
tokenAccess token generated from the SeaLights server
tokenfilePath to file containing the access token generated from the SeaLights server
buildsessionidSession ID of configuration created
buildsessionidfilePath to file containing the Session ID of configuration created
workspacepath

Path to the source workspace

r, recursive

Recursive search all folders under the workspace path

baseSourceFolder

Relative path from user.dir to the workspace (specify the relative path from the .git folder up to com) Example: src/java

componentfile

A path to a json file that is in the following format:
[{"appName":"","branch":"","build":""}, {...}]
or
[{"buildSessionId":"", {...}]

enableNoneZeroErrorCode
Exit with an error code if an error is encountered
fe, filesexcluded

Comma-separated list of files to exclude from scan

Supports wildcards (* = any string, ? = any character). For example: '*-with-dependencies.jar , bad-bad?.war, *-source.jar'

fi, filesincluded

Comma-separated list of files to include in scan

Supports wildcards (* = any string, ? = any character). For example: '*-with-dependencies.jar ,

moduleName
Module name, the module name used in the pom.xml file Example: my-app
npf, noPropertiesFile

Do not generate Sealights property file

pfn, propertiesFileName

Path of Sealights property file to generate. Default is 'sealights.properties'

pathToMetaJson

Optional: Path to a json file with metadata regarding the build

proxy
Address of proxy to run connection through
scmProviderThe provider name of your Source Control Management (SCM) tool.
Values: Github, Bitbucket and Gitlab (Default is Github)
scmBaseUrl

The URL to the repository which contains the code.

If not provided, the url of the remote GIT origin will be used

scmVersion

The version of your Source Control Management (SCM) tool.

If not provided, cloud version is assumed

scm

Search for git information

Values: git, none (Default is git)

customFilterFilePath to JSON format method filter rules file, format described here

Report build scan end

Usage
java -jar sl-build-scanner.jar -buildend {-token  <arg> | -tokenfile <arg>} {-buildsessionid <arg> | -buildsessionidfile <arg>} {-failed | -ok}
ParameterDescription
token
Access token generated from the SeaLights server
tokenfile
Path to file containing the access token generated from the SeaLights server
buildsessionid 
Session ID of configuration created
buildsessionidfile
Path to file containing the Session ID of configuration created
ok
report the build scan was successful
failedreport the build scan was failed
proxy
Address of proxy to run connection through

Updating/Deleting a component from an integration build

Usage
java -jar sl-build-scanner.jar {-componentUpdate | -componentDelete} {-token  <arg> | -tokenfile <arg>} {-buildsessionid <arg> | -buildsessionidfile <arg>} {-componentids <arg> | -componentfile <file>}
ParameterDescription
token
Access token generated from the SeaLights server
tokenfile
Path to file containing the access token generated from the SeaLights server
buildsessionid 
Session ID of configuration created for the integration build
buildsessionidfile
Path to file containing the Session ID of configuration created for the integration build
componentids
One or several build session ID's (comma separated) of the component(s) to be updated or deleted
componentfile
A path to a json file that is in the following format:
[{"appName":"","branch":"","build":""}, {...}]
or
[{"buildSessionId":"", {...}]
proxy
Address of proxy to run connection through

Test Listener

Starting a test stage

Usage
java -jar sl-test-listener.jar start {-token  <arg> | -tokenfile <arg>} {-buildsessionid <arg> | -buildsessionidfile <arg>} -testStage <arg> [-labid <arg>] [-proxy <arg>]
ParameterDescription
token
Access token generated from the SeaLights server
tokenfile
Path to file containing the access token generated from the SeaLights server
buildsessionid 
Session ID of configuration created
buildsessionidfile
Path to file containing the Session ID of configuration created
testStage

Name of the test stage

labid

Unique ID for a set of test labs in case multiple labs are running simultaneously

proxy
Address of proxy to run connection through

Upload report files

Report files must be junit style xml reports

Usage
java -jar sl-test-listener.jar uploadReports {-token  <arg> | -tokenfile <arg>} {-buildsessionid <arg> | -buildsessionidfile <arg>} {-reportFile <arg>|-reportFilesFolder <arg>} -source <arg> -type <arg> [-labid <arg>] [-proxy <arg>]
ParameterDescription
token
Access token generated from the SeaLights server
tokenfile
Path to file containing the access token generated from the SeaLights server
buildsessionid 
Session ID of configuration created
buildsessionidfile
Path to file containing the Session ID of configuration created
reportFile

Path to report file (multiple entries can be provided)

reportFilesFolder

Path to folder containing report files (multiple entries can be provided)

Note: all files in the folder will be uploaded

source

The reports provider

Example: Junit xml report

type
Values:
JUnitReport - For uploading JUnit test report files
commitLog - For uploading git style commit logs
labid

Unique ID for a set of test labs in case multiple labs are running simultaneously

proxy
Address of proxy to run connection through

Ending a test stage

Usage
java -jar sl-test-listener.jar end {-token  <arg> | -tokenfile <arg>} {-buildsessionid <arg> | -buildsessionidfile <arg>} [-labid <arg>] [-proxy <arg>]
ParameterDescription
token
Access token generated from the SeaLights server
tokenfile
Path to file containing the access token generated from the SeaLights server
buildsessionid 
Session ID of configuration created
buildsessionidfile
Path to file containing the Session ID of configuration created
labid

Unique ID for a set of test labs in case multiple labs are running simultaneously

proxy
Address of proxy to run connection through


Installing test listener as Java Agent

The listener needs to be placed alongside the server and added to the JVM command line using the -javaagent parameter together with its required parameters.

Usually the easiest is to place it in the JAVA_OPTS="..." although it can also be placed in the JVM command itself.

Usage
java -javaagent:/path/to/sl-test-listener.jar {-Dsl.token=<arg> | -Dsl.tokenFile=<arg>} {-Dsl.buildSessionId=<arg> | -Dsl.buildSessionIdFile=<arg>} [-Dsl.tags=<arg>] [-Dsl.labId=<arg>] [-Dsl.proxy=<arg>] [-Dsl.testStage=<arg>] [-Dsl.filesStorage=<folder>] [-Dsl.webappLocation=<arg>] -jar yourapp.jar
ParameterDescription
javaagent
Path to Sealights Java test agent jar
sl.token
Access token generated from the SeaLights server
sl.tokenFile
Path to file containing the access token generated from the SeaLights server
sl.buildSessionId 
Session ID of configuration created
sl.buildSessionIdFile
Path to file containing the Session ID of configuration created
sl.tags
One or several tags (comma separated) to be passed to Sealights in order to label the test listener in the cockpit
sl.labId

Unique ID for a set of test labs in case multiple labs are running simultaneously

sl.proxy
Address of proxy to run connection through
sl.testStage

Name of the test stage (When running with JMeter)

sl.filesStorage
Path to a folder that the agent can save temporary files to
sl.webappLocation
Location of the webapps folder to search for the artifcat in, by defaule 'webapps'

Logging

In order to enable logs you can set the following parameters as environment variables or when using as javaagent add them as -Dsl.* parameters

ParameterDescription
sl.log.level

Sets the log level to one of the following: "off", "error", "warn", "info", "debug"

sl.log.toConsole
Set to true to enable log output to the console
sl.log.toFile

Set to true to enable log output to a file

sl.log.folder
Provide a folder to save the log files in
sl.log.filename
Provide the name of the log file
sl.log.count
Limit the number of log files to create. Default: 10
sl.log.limit
Limit the size of the log file in megabytes (MB). Default value is 10 (i.e. 10*1024 KB)
--add-opens=java.base/jdk.internal.loader=ALL-UNNAMED

Special JVM parameter to allow logging in Java 9 and later in addition to -Dsl.log.* above. 
If the option is not provided, the test listener will work as usual, but logging will not work.

  • No labels