Problem
When reporting a build to Sealights via Maven from the command line, you need to provide a different build name each time you create a new Build Session ID.
Sample of JSON configuration file
Code Block |
---|
language | xml | title | Sample of JSON configuration file |
---|
|
{
...
"buildName": "${BUILD_NUMBER}",
...
}
|
Instead of updating manually your pom.xml or the JSON configuration file, you have several ways to dynamically update the Build Name parameter passed to Sealights.
...
In order to use a timestamp to report the build to Sealights, please prefer to use for example -DBUILD_NUMBER=`date +"%y%m%d_%H%M"`
Code Block |
---|
|
mvn clean install -Psealights -DBUILD_NUMBER==`date +"%y%m%d_%H%M"` |
Timestamp defined as part of the Maven configuration
Using an timestamp generated by Sealights
Sealights Java agents supports a specific SL_Timestamp variable the JSON configuration file to set the Sealights Maven plugin generating automatically a time stamp as a default buildname.
The default format is yyyy.MM.dd-hh.mm
.
Sample of JSON configuration file
Code Block |
---|
|
{
...
"buildName": "SL_Timestamp",
...
} |
Using a timestamp variable in pom.xml
for Maven versions prior to 3.0.0, you need to wrap the build timestamp in another property
...
Maven provides a built-in property called ${maven.build.timestamp}
that provides the time the build was initiated and this can be used in your Sealights profile after wrapping in another property
Pom.xml with timestamp
linenumbers Code Block |
---|
|
<properties>
...
<timestamp>${maven.build.timestamp}</timestamp>
<maven.build.timestamp.format>yyyyMMdd_HHmm</maven.build.timestamp.format>
</properties> |
From now on, you can use this property ${timestamp}
either in the Sealights profile directly in the pom.xml or inside the JSON configuration file.
Sample of JSON configuration file
Code Block |
---|
language | xml |
---|
title | Sample of JSON configuration file |
---|
|
{
...
"buildName": "${timestamp}",
...
}
|
Code Block |
---|
language | xml | title |
---|
Sample of profile using timestamp property
Code Block |
---|
|
<configuration>
...
<buildSessionIdFile>buildSessionId.txt</buildSessionIdFile>
<createBuildSessionId>true</createBuildSessionId>
<appName>MyApp</appName>
<branchName>master</branchName>
<buildName>${timestamp}</buildName>
...
</configuration> |
...