Versions Compared

Key

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

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
languagexmltitleSample 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
languagebash
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
languagexml
{
  ...
  "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
languagetruexml
<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
xml
Code Block
languagexml
titleSample of JSON configuration file
{
  ...
  "buildName": "${timestamp}",
  ...
}
Code Block
language
title
Sample of profile using timestamp property
Code Block
languagexml
<configuration>
	...
	<buildSessionIdFile>buildSessionId.txt</buildSessionIdFile>
	<createBuildSessionId>true</createBuildSessionId>
	<appName>MyApp</appName>
	<branchName>master</branchName>
	<buildName>${timestamp}</buildName>
	...
</configuration>

...