How to synchronize VSTS and Github respositories when commits are made

后端 未结 2 1776
南笙
南笙 2020-11-29 00:40

I have a repository in visual studio team services that I would like to keep synchronized with a github repository.

This allows me to do my main development in VSTS

相关标签:
2条回答
  • 2020-11-29 00:57

    For anyone wanna sync all branches from Github to VSTS by using powershell

    You need to create a repo in VSTS with the same name in Github first.

    Add a PowerShell process as the following script. It should work with any account and repo.

    git branch -r | findstr /v "\->" | ForEach-Object {$br=$_.TrimStart(); git branch --track $br.TrimStart("origin/") $br} $repoName = "$env:BUILD_REPOSITORY_NAME".split('/')[1] $repoUri = "$env:SYSTEM_TEAMFOUNDATIONCOLLECTIONURI".Substring(8)+ "_git/$repoName" git remote add vsts "https://$env:SYSTEM_ACCESSTOKEN@$repoUri" git branch -r | findstr /v "\->" | ForEach-Object { $br=$_.TrimStart(" origin/"); git push -u vsts $br }

    0 讨论(0)
  • 2020-11-29 01:01

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

    add two CMD tasks that will run some git commands.

    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.

    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.

    0 讨论(0)
提交回复
热议问题