To configure an MSBuild task:
- Navigate to the Tasks configuration tab for the job (this will be the default job if creating a new plan).
- Click the name of the desired MSBuild task, or click Add Task and then MSBuild if creating a new task.
Complete the following settings:
MSBuild configuration Task Description A description of the task, which is displayed in Bamboo. Executable The MSBuild executable that is available to perform the task. The executable you select will become one of the task's (and so, the job's) requirements.
You can add other executables, if required.
Project File The name of the solution, project file or MSBuild project to execute, for example ExampleSolution.sln
. You can include variables (see Bamboo variables).Options The MSBuild command line options that you want to include.
By default, Bamboo 5.7 (and later versions) writes the contents of the Projects File and Options fields to an MSBuild response file. See below for more information.
You can include variables (see Bamboo variables).
If required, specify environment variables and working directory settings:
Environment Variables (Optional) Additional system environment variables that you want to pass to your build. Note that existing environment variables are automatically available to the executable. You can also include Bamboo global or build-specific variables (see Bamboo variables).
Multiple variables should be separated with spaces. Parameters with spaces must be quoted (e.g ANT_OPTS="-Xms200m -Xmx700m").Working Sub Directory (Optional) An alternative subdirectory, relative to the job's root directory, where Bamboo will run the executable. The root directory contains everything checked out from the job's configured source repository. If you leave this field blank, Bamboo will look for build files in the root directory. This option is useful if your task has a build script in a subdirectory and the executable needs to be run from within that subdirectory. Run as Powershell script (Optional, Windows only) Check the 'Run as Powershell script' checkbox to run the script with Powershell instead of cmd.exe which interprets .bat files. The inline editor supports Powershell syntax. - Click Save.
Passing options to MSBuild
By default, Bamboo 5.7 (and later versions) writes the contents of the Projects File and Options fields to an MSBuild response file:
# MSBuild response file generated by Atlassian Bamboo %CONTENTS_OF_OPTIONS_FIELD% %CONTENTS_OF_PROJECTS_FILE_FIELD%
and then runs the following command:
msbuild.exe @<full-path-to-response-file>response-file.rsp
This allows you to use the same settings with the Bamboo MSBuild task as you would use when calling MSBuild on the command line.
You can disable creation of the response file. In that case, Bamboo will create a .bat file instead:
"<full-path-to-msbuild>msbuild.exe" %CONTENTS_OF_OPTIONS_FIELD% %CONTENTS_OF_PROJECTS_FILE_FIELD%
and run that.