The CI/CD environment automatically generates a unique version identifier for every build and embeds it into both the WAR artifact and a companion configuration archive stored in Nexus. This means every deployed artifact is fully traceable — you can identify exactly which build produced a running application, which Git commit it came from, and which environment properties were active at deployment time.Documentation Index
Fetch the complete documentation index at: https://mintlify.com/infra-neo/CICD/llms.txt
Use this file to discover all available pages before exploring further.
Version Format
Every build receives a version identifier derived from the Jenkins build number and a timestamp:42-20251025-143022
The version is set in the Initialize stage of Jenkinsfile.enhanced:
yyyyMMdd-HHmmss, producing strings like 20251025-143022. Combined with the Jenkins build number, this gives each build a version that is both human-readable and guaranteed to be unique across the lifetime of the job.
version.properties in WAR Files
The Version and Tag Artifact stage inJenkinsfile.enhanced creates a version.properties file and injects it directly into the built WAR using the jar command:
Retrieving Version from a Deployed App
Any Java component running inside the deployed WAR can readversion.properties from the classpath at runtime:
/version or /health endpoint that reports the deployed build version, or for including version context in application logs.
Properties Versioning in Nexus
In addition to versioning the WAR artifact, the pipeline packages the active environment configuration and uploads it to Nexus as a versioned tarball. This is handled by the Store Properties Version stage. Archive name format:properties-prod-42-20251025-143022.tar.gz
Nexus upload path:
metadata.json file generated at build time:
Downloading a Specific Version
Usecurl to retrieve a versioned properties archive from the Nexus raw repository:
Version History in Nexus
All versioned artifacts — WAR files and properties archives — are browsable in the Nexus UI:Rollback
Rolling back to a previous version is a four-step process using artifacts already stored in Nexus:Find the desired version
Browse to
http://localhost:8081/#browse/browse:maven-snapshots and locate the WAR artifact for the version you want to roll back to.Download the WAR artifact
Download the versioned WAR from Nexus to your local machine or directly onto the host running the Docker stack.
Deploy the old WAR to WildFly
Copy the downloaded WAR into WildFly’s hot-deploy directory:For JBoss, substitute
jboss for wildfly.Configuring Versioning in build-config.yml
The versioning behaviour is controlled by theversioning block in build-config.yml:
| Field | Default | Description |
|---|---|---|
enabled | true | Enables automatic version generation and artifact tagging |
format | ${BUILD_NUMBER}-${TIMESTAMP} | Version string format using Jenkins environment variables |
store_properties | true | Uploads versioned environment properties to the Nexus raw repository |
store_properties: false to disable the properties archive upload if your environment does not use environment-specific configuration files.