Bamboo, branches & TFS

Nick de Smith March 18, 2014

Hi - I have JIRA 6.2 & Bamboo 5.4.2 running on two different servers in a Windows 2008 R2 environment. We are using TFS 2010 as our SVC system.

I can build individual branches easily in their own plans - the project is HUGE - when built, its over 100,000 files.

We use branches of the MAIN branch for specific projects, e.g. MAIN-ABC, however there may be new VS sln files to be built in MAIN-ABC that don't exist in MAIN (new functionality and all that) - I've manually created a MAIN-ABC branch but it seems you cannot add new tasks or disable underlying ones in the Bamboo branch - in fact, you can do VERY little except maybe select a new SVC branch

Is there a better way to achieve the end I'm after?

Thanks

3 answers

0 votes
Jason Monsorno
Rising Star
Rising Star
Rising Stars are recognized for providing high-quality answers to other users. Rising Stars receive a certificate of achievement and are on the path to becoming Community Leaders.
March 18, 2014

What I've done is put that logic into the version control, the trunk (and any branch) have an app.manifest file in the root of a project checkout which defines what to build. In this way, all my plans are identical and developers can add or remove builds in any branch or wherever without even having permissions to edit Bamboo.

#---------------------------------------------
#http://itwiki/wiki/Application_Manifest - our source document is always referenced for maintainability 
#---------------------------------------------
Deployable Type=WindowsService ProjectPath=BillerServ/BillerServ/ServiceHost/ServiceHost.csproj Name=BillingService SolutionPath=BillingServ/BillingService.sln Builder=devenv
Deployable Type=ConsoleApplication ProjectPath=BillingServSchedulerStub/BillerServStub/BillerServStub.csproj Name=BillerServSchedulerStub
Deployable Type=WindowsService ProjectPath=BillerServ/BillingValuation/ServiceHost/ServiceHost.csproj Name=ValuationService SolutionPath=BillingServ/BillingService.sln Builder=devenv
Deployable Type=ConsoleApplication ProjectPath=BillerServ/TestConsumers/BillingLogReporter/BillingLogReporter.csproj Name=BillingLogReporter
Deployable Type=WindowsService ProjectPath=InfoServices/ServiceHost/ServiceHost.csproj Name=InfoServices
Deployable Type=WindowsService ProjectPath=Logger/ServiceHost/ServiceHost.csproj Name=LoggerService

We use a few third party libraries that require devenv as well as including the solution helps resolve dependencies, but by default we use msbuild. I have a program that parses this data and will build the working copy accordingly.

0 votes
Jason Monsorno
Rising Star
Rising Star
Rising Stars are recognized for providing high-quality answers to other users. Rising Stars receive a certificate of achievement and are on the path to becoming Community Leaders.
March 18, 2014

What I've done is put that logic into the version control, the trunk (and any branch) have an app.manifest file in the root of a project checkout which defines what to build. In this way, all my plans are identical and developers can add or remove builds in any branch or wherever without even having permissions to edit Bamboo.

#---------------------------------------------
#http://itwiki/wiki/Application_Manifest - our source document is always referenced for maintainability 
#---------------------------------------------
Deployable Type=WindowsService ProjectPath=BillerServ/BillerServ/ServiceHost/ServiceHost.csproj Name=BillingService SolutionPath=BillingServ/BillingService.sln Builder=devenv
Deployable Type=ConsoleApplication ProjectPath=BillingServSchedulerStub/BillerServStub/BillerServStub.csproj Name=BillerServSchedulerStub
Deployable Type=WindowsService ProjectPath=BillerServ/BillingValuation/ServiceHost/ServiceHost.csproj Name=ValuationService SolutionPath=BillingServ/BillingService.sln Builder=devenv
Deployable Type=ConsoleApplication ProjectPath=BillerServ/TestConsumers/BillingLogReporter/BillingLogReporter.csproj Name=BillingLogReporter
Deployable Type=WindowsService ProjectPath=InfoServices/ServiceHost/ServiceHost.csproj Name=InfoServices
Deployable Type=WindowsService ProjectPath=Logger/ServiceHost/ServiceHost.csproj Name=LoggerService

We use a few third party libraries that require devenv as well as including the solution helps resolve dependencies, but by default we use msbuild. I have a program that parses this data and will build the working copy accordingly.

0 votes
Sergey Podobry _Stellarity Software_
Rising Star
Rising Star
Rising Stars are recognized for providing high-quality answers to other users. Rising Stars receive a certificate of achievement and are on the path to becoming Community Leaders.
March 18, 2014

Hi Nick,

Bamboo uses the same tasks across all branches. So you have to create tasks that can be used in every branch. For example, you can write a script task that builds any *.sln files it finds. Also you can use bamboo variables (branch name or something else) to customize the script task.

Suggest an answer

Log in or Sign up to answer