TeamCity
 
You are viewing the documentation for an earlier version of TeamCity.

Branch Remote Run Trigger

Last modified: 20 April 2023

Branch Remote Run trigger automatically starts a new personal build each time TeamCity detects changes in particular branches of the VCS roots of the build configuration. At the moment this trigger supports only Git and Mercurial VCSes. A trigger monitors branches with names that match specific patterns. Default patterns are:

for Git repositories — refs/heads/remote-run/* for Mercurial repositories — remote-run/*

By default TeamCity triggers a personal build for the user detected in the last commit of the branch. You might also specify TeamCity user in the name of the branch. To do that use a placeholder TEAMCITY_USERNAME in the pattern and your TeamCity username in the name of the branch, for example pattern remote-run/TEAMCITY_USERNAME/* will match a branch remote-run/joe/my_feature and start a personal build for the TeamCity user joe (if such user exists).

In order to trigger a build branch should have at least one new commit comparing to the main branch.

Example: Run a personal build from a command line.



Git



% cd <your local git repo> % git branch * master % git checkout -b my_feature Switched to a new branch 'my_feature' //code, commit; code, commit % git push origin +HEAD:remote-run/my_feature

With the default pattern (refs/heads/remote-run/*) command git branch -r will list your personal branches. If you want to hide them, change the pattern to refs/remote-run/* and push your changes to branches like refs/remote-run/my_feature. In this case your branches are not listed by the above command, although you can see them anyway using git ls-remote <url of git repository>.

Mercurial



% cd <your local hg repo> % hg branch default % hg branch remote-run/my_feature marked working directory as branch remote-run/my_feature //code, commit; code, commit % hg push -b remote-run/my_feature --new-branch

Limitations



If your build configuration has 2 VCS roots which support branch remote-run and you push changes to both of them, TeamCity will start 2 personal builds with changes from each root.

See also:

Administrator's Guide: Git (JetBrains) | Mercurial