Question

I'm wondering how to select the branch to build against using Team City 8.1.

My VCS root (Git) is set to Default: "master" and Branch specifications are

+:refs/heads/develop
+:refs/heads/feature/*
+:refs/heads/hotfix/*
+:refs/heads/master
+:refs/heads/release/*

I have a CI build set up that automatically builds anything that is checked in, which is working exactly how I want.

What I'd like to do is create a scheduled QA build/deployment against the "develop" branch. I see that if I click the ellipsis next to the run button, I can choose the branch on the "Changes" tab, but I'm unable to determine how to make this "stick". Is this possible, or am I going about this wrong?

Thanks,

Joe

Was it helpful?

Solution

Based on @biswajit-86 's feedback and some other information I found while googling this, I was able to get this to work. Here's what I did (image-heavy, sorry). It's based on Team City 8.2 which seems to be set up a little differently than the examples I came across.

1) Set up a VCS root. Key here is the %BranchName% parameter.

enter image description here

2) Create a Build template and use the VCS root that was just created. I also added an MSBuild step as all of my builds need to run this.

enter image description here

3) Create a new build, based on the template. As you can see here, the %BrachName% parameter that was created in step 1 is available.

enter image description here

4) If you need to change this later, it's available here

enter image description here

And that's pretty much it. For my CI build, I left the branch name empty so any branch that is checked in triggers the MSBuild step. For my QA build, I pass in "develop" as shown here and I have this set up on a daily schedule. I also have a "release" build set up, but based on our naming conventions it looks like I need to update the build to point to the specific branch per release.

OTHER TIPS

You can parameterize the "Ref name" of the git VCS setup. What this means is you declare a variable of the form %variable.name% in your build, create a build parameter under the "configuration parameter:" category.

For each build target set this value and you should be able to pick the specific branch that you want to run the target for.

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top