Select Git branch for TeamCity Build

43,685

Solution 1

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.

Solution 2

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.

Share:
43,685
Joe
Author by

Joe

I specialize in delivering quality solutions on time with an emphasis on customer satisfaction. I have worked in environments of many sizes from Fortune 500 companies to small start-ups and have a solid background in the full software development life cycle including requirements gathering, prototyping, technical design, coding, quality assurance and maintenance. I am productive in both in both individual and team project environments and am dedicated to maintaining up to date software development skills and keeping abreast of industry best practices.

Updated on July 17, 2020

Comments

  • Joe
    Joe almost 4 years

    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