How to synchronize VSTS and Github respositories when commits are made

First create a new build on VSTS that is using the repository that should be synced from VSTS:

VSTS Build

add two CMD tasks that will run some git commands.
git pull remote
enter image description here

where the last of the two needs a personal access token from Github.

In the images both CMD tasks uses the GIT tool and the following two commands:

pull https://github.com/s-innovations/MessageProcessor.ServiceFabric.git master

and

push https://$(githubpersonaltoken)@github.com/s-innovations/MessageProcessor.ServiceFabric.git head:master

Enable the CI option to trigger the build to run whenever something is commited to master.

Now the same can be done the other way, where a new build is made the same way but with the urls changed to target visual studio online repository.

push to vsts

Do note that when using personal tokens on vsts the authentication part of the url needs to be https://:token@ and on github its just https://token@.

push https://$(vstspersonaltoken)@sinnovations.visualstudio.com/DefaultCollection/S-Innovations%20MessageProcessor/_git/messageprocessor-service-fabric head:master

Update AUG 2017

They changed it at VSTS, such if the colon is present it will fail auth. The above description have been updated.

Leave a Comment