Bamboo, branches & TFS

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

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.

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.

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.

Suggest an answer

Log in or Sign up to answer
Community showcase
Published Nov 27, 2018 in Portfolio for Jira

Introducing a new planning experience in Portfolio for Jira (Server/DC)

In the past, Portfolio for Jira required a high degree of detail–foresight that was unrealistic for many businesses to   have–in   order to produce a reliable long-term roadmap. We're tur...

2,454 views 15 19
Read article

Atlassian User Groups

Connect with like-minded Atlassian users at free events near you!

Find a group

Connect with like-minded Atlassian users at free events near you!

Find my local user group

Unfortunately there are no AUG chapters near you at the moment.

Start an AUG

You're one step closer to meeting fellow Atlassian users at your local meet up. Learn more about AUGs

Groups near you