In my app that's being built on Bamboo, I have the following code:
"build-aem": {
"builder": "@nrwl/workspace:run-commands",
"options": {
"commands": [
{
"command": "mvn --batch-mode release:update-versions -DdevelopmentVersion=${bamboo.buildNumber} -f ./apps/americas-aem/pom.xml"
},
{
"command": "mvn clean install -f ./apps/americas-aem/pom.xml"
}
],
"parallel": false
}
}
What I'd like to happen is for the "${bamboo.buildNumber}" to be replaced with the actual Bamboo variable, as shown on this page:
Do you know of a way to make this happen?
Hi @Samuel VanFossen , welcome to Atlassian Community!
All bamboo variables are accessible using ${bamboo.<variablename>} in configuration, or ${bamboo_<variablename>} in scripts. In your specific case with NPM you should use system variables (scripts) instead, as Bamboo variables are not accessible within that node workspace.
As documented in System variables - Using variables in bash, you should:
Using variables in bash
Bamboo variables are exported as bash shell variables. All full stops (periods) are converted to underscores. For example, the variable
bamboo.my.variable
is$bamboo_my_variable
in bash. This is related to File Script tasks (not Inline Script tasks).
E.g. assuming you want to print Bamboo's bamboo.buildNumber with the following code:
"build-aem": {
"executor": "@nrwl/workspace:run-commands",
"options": {
"command": "echo This is my Bamboo Build number: ${bamboo_buildNumber}"
}
}
and your bamboo.buildnumber = 123 -- it will produce the following output:
12-May-2021 12:26:20
12-May-2021 12:26:20 > bamboo@0.0.0 nx /home/bamboo/bamboo-agent-home/xml-data/build-dir/MFP-MVFP-JSJ
12-May-2021 12:26:20 > nx "build-aem"
12-May-2021 12:26:20
12-May-2021 12:26:21
12-May-2021 12:26:21 > nx run bamboo:build-aem
12-May-2021 12:26:21 This is my Bamboo Build number: 123
12-May-2021 12:26:21
12-May-2021 12:26:21 ———————————————————————————————————————————————
12-May-2021 12:26:21
12-May-2021 12:26:21 > NX SUCCESS Running target "build-aem" succeeded
Additionally, if your code already contains specific variables that are meant to be portable and/or you cannot amend it with the the bamboo_ prefix, you can alternatively declare a value for those variables under Advanced Options -> Environment Values -- this time using bamboo variables, E.g.:
In Advanced Options -> Environment Values:
BUILD_NUMBER=${bamboo.buildNumber}
In code:
"build-aem": {
"executor": "@nrwl/workspace:run-commands",
"options": {
"command": "echo This is my Bamboo Build number: ${BUILD_NUMBER}"
}
}
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Online forums and learning are now in one easy-to-use experience.
By continuing, you accept the updated Community Terms of Use and acknowledge the Privacy Policy. Your public name, photo, and achievements may be publicly visible and available in search engines.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.