Description
We're trying to set up a Remote Agent, and for some of our builds we need to change the paths of executables used. Capabilities seem like a nice way to do this, but variable substitution seems horribly broken.
The following log details the problem in a test build where we are attempting to use the Ruby executable in a script builder, using capability variables to define where Ruby is:
12-Jun-2008 15:03:03 Executing build BAMBOO-TEST-3
12-Jun-2008 15:03:03 Running pre-build action: Build Number Stamper
12-Jun-2008 15:03:03 Running pre-build action: VCS Version Collector
12-Jun-2008 15:03:03 Building started with ScriptBuilder
12-Jun-2008 15:03:03 Starting to build 'Build System Testing - Ruby Capability Testing'
... running command line: ${bamboo.capability.Ruby} puts test
... in : E:\bamboo-home\xml-data\build-dir\BAMBOO-TEST\integration\.\BambooTools
... using java: null
... using environment variables:
12-Jun-2008 15:03:03 Substituting variable: ${bamboo.capability.Ruby} with c:\ruby\bin\ruby.exe
12-Jun-2008 15:03:03 Failed to execute build: Cannot find executable at ${bamboo.capability.Ruby}
Notice that the variable substitution "works" per this line:
12-Jun-2008 15:03:03 Substituting variable: ${bamboo.capability.Ruby} with c:\ruby\bin\ruby.exe
Immediately after we see the following:
12-Jun-2008 15:03:03 Failed to execute build: Cannot find executable at ${bamboo.capability.Ruby}
If I replace the "${bamboo.capability.Ruby" with "c:\ruby\bin\ruby.exe" it works just fine.
We cannot use a build agent effectively, if we cannot resolve problems like this.