View Source

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).

{note:title=Troubleshooting}
At the moment there is no UI to show what's going on inside the trigger, so the only way to troubleshoot it is to look inside {{teamcity-remote-run.log}}. To see a more detailed log please enable *debug-vcs* logging preset at *Administration* | *Server Configuration* | *Diagnostics*.
{note}

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

h3. Example: Run a personal build from a command line.

h4. Git

{code}
% 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
{code}

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>}}.

h4. Mercurial

{code}
% 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
{code}

h3. 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.

\\
\\
{color:#003366}*See also:*{color}
{panel:borderStyle=dashed|bgColor=#FFFFFF}
*Administrator's Guide*: [Git|Git (JetBrains)] | [Mercurial]
{panel}