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.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.