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

This widget could not be displayed.

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.

This widget could not be displayed.

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.

This widget could not be displayed.

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
Posted Tuesday in Jira

What modern development practices are at the heart of how your team delivers software?

Hey Community mates! Claire here from the Software Product Marketing team. We all know software development changes rapidly, and it's often tough to keep up. But from our research, we've found the h...

197 views 1 3
Join discussion

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