6.5 EAP: branch remote run as non-personal build?


I love where you're going with the branch remote run feature. It's going to really help our development process a lot.

One thing stuck out while reading the docs: currently, it sounds like builds triggered by the branch remote run feature are always personal builds. I'd like to use this in a slightly different way:

1. We'll lock down access to our git master branch so developers don't commit to it, and instead all developers will push changes to their TeamCity-monitored branch.

2. Upon detecting changes in a given developer's branch, TeamCity will run the build configuration with those changes

3. As a first step of our build configuration, we will merge master into the developer's branch, so that we ensure we're testing against the latest code

4. At the end of our build configuration, if the build is successful (and non-personal), we will push the successfully-tested changes to master, thus making the developer's changes available to everyone else.

Clearly, some of these steps could be pulled into TeamCity as first-class features, but if I could configure the new 'branch remote run' feature to run non-personal builds, we can do all the rest on our side.

I could imagine a rule like so:

    refs/remote-run/TEAMCITY_USERNAME/personal/TOPIC => a personal build
    refs/remote-run/TEAMCITY_USERNAME/TOPIC => a non-personal build


Comment actions Permalink

Hi Patrick,

thanks for detailed explanation. Unfortunately it is not possible to run non-personal builds on branches yet, you might vote for these issues: http://youtrack.jetbrains.net/issue/TW-16052, http://youtrack.jetbrains.net/issue/TW-16054.

Do you need the build to be non-personal only to make decision about a push?

Comment actions Permalink


Yes -- we were hoping to use the personal / non-personal differentiation as a switch to determine whether or not successful runs should be merged into the integration (master) branch.

I imagine we can get away with some other sort of tagging / pattern-matching, but that just seems like a lot of layers of hacks.

Thanks for the pointers to those issues; I just voted for TW-16054, which is probably the closest to what I'm looking for.




Please sign in to leave a comment.