将Git存储库与VSTS中的Git Integrated同步

时间:2017-04-23 00:05:38

标签: git github version-control azure-devops devops

我想知道有没有什么方法可以将Git存储库与Git Integrated与VSTS同步。例如,假设我有一个Git存储库" https://github.com/test/TestProject "我在VSTS中导入了这个Git仓库。现在我的VSTS Git存储库URL说" https://testuser.visualstudio.com/test/_git/TestProject "。

我希望同步这两件事并始终保持更新。就像我在直接Git仓库中进行任何更改一样,它应该反映在VSTS Git存储库中。即使它通过任何构建定义或任何拉取请求,它的罚款。

有人可以帮助我吗?

2 个答案:

答案 0 :(得分:1)

也可以通过创建构建定义来从GitHub中提取更改,然后将更改推送到VSTS Git来实现。以下是您参考的步骤:

  1. Deploy your own build agent然后生成SSH密钥。
  2. 为您的VSTS Git Repo启用SSH Authentication,这样您就无需在构建定义中输入用户名和密码。如果要使用备用凭据,可以跳过步骤1和步骤2.
  3. 创建构建定义并选择GitHub作为存储库。
  4. 启用"持续集成(CI)"构建定义中的选项,以便在GitHub中提交新更改时立即触发构建。
  5. 在构建定义中添加PowerShell脚本,将VSTS Git添加为远程并推送更改。
  6. 现在,您应该看到在GitHub中提交更改时触发了构建,然后构建将从GitHub中提取更改并将其推送到VSTS Git。 enter image description here PowerShell代码供您参考:

    git remote add vstsg ssh://vstsaccount@vstsaccount.visualstudio.com:22/VSTSProjectName/_git/VSTSGitRepoName  2>&1 | Write-Host
    
    git checkout -b master  2>&1 | Write-Host
    
    git push vstsg master  2>&1 | Write-Host
    

答案 1 :(得分:0)

您需要拥有webhook (ion GitHub)service hook(在Visual Studio上)才能接收推送事件。

您还需要编写和安装一个侦听器,该侦听器将侦听由Web /服务挂钩作为JSON有效负载发送的推送事件(请参阅GitHub one,Visual Studio one)。 /> Visual Studio integrates with external services as well,有自己的倾听者。

从一个远程仓库接收推送事件后,您可以从中拉出,然后推送到另一个。但请注意,当从一个repo推送到另一个repo时,同一分支上的任何并发开发都可能导致冲突。当每个仓库使用不同分支时,此方法有效。

相关问题