【问题标题】:Syncing my Github repo to MS Visual Studio Team Services将我的 Github 存储库同步到 MS Visual Studio Team Services
【发布时间】:2018-06-06 19:05:01
【问题描述】:

我是 VSTS 新手,正在尝试将我的 Github 存储库同步到 VSTS 环境,以将我的工作环境完全集成到它。我想同步我的 Github 存储库以更新对 VSTS 所做的任何更改。这个过程非常混乱。

我点击了这个链接:http://intranoggin.com/Blog/February-2017/Synchronizing-code-between-GitHub-and-VSTS.aspx

新界面并没有完全反映教程,但我能够遵循大部分内容。我做了以下事情:

我创建了一个新的构建定义

链接到我的 github 仓库

设置访问令牌

按照上面教程链接中的说明设置任务命令

保存定义并创建一个运行任务的队列

当我在 Github 中对单个分支进行更改时效果很好。

但我最终要做的是:

我希望它与包括所有分支的回购本身同步。因此,如果我为 Pull Request 创建一个新分支,我希望它自动应用于 VSTS。

我真的需要已经在使用 VSTS 并且知道如何与 Github 存储库和 VSTS 进行完整同步的人的帮助

【问题讨论】:

    标签: git github azure-devops azure-pipelines azure-pipelines-build-task


    【解决方案1】:

    如果您总是在 VSTS git repo 上进行更改,并且需要相应地同步 github repo,那么您可以使用一个 VSTS CI 构建定义来实现它。 详细步骤如下:

    • 使用 PowerShell 任务创建 CI 构建;
    • 在获取源步骤中选择 VSTS git repo;
    • 启用持续集成并指定包含分支过滤器的所有分支:

    • 为 PowerShell 任务添加 powershell 脚本如下:

      git checkout $(Build.SourceBranchName)
      git remote add github https://username:password@github.com/username/reponame
      git push github $(Build.SourceBranchName)
      
    • 确保取消选择 PowerShell 任务的 Fail on Standard Error 选项:

    现在对 VSTS git repo 进行任何更改后,github repo 将自动更新。

    【讨论】:

    • 很好的答案!还有同步拉取请求的方法吗?
    • 是的,您可以使用 VSTS web hook 来触发 pull request created 事件,然后通过 github rest api (developer.github.com/v3/pulls/#create-a-pull-request) 在 github 上创建 pull reuest。
    • @MarinaLiu-MSFT 我建议用“PersonalAccessTokens”替换密码,这样更安全。这个解决方案对我有用,但即使很难正确更新 GitHub 存储库,我也会在控制台中收到此错误,导致构建失败:分支“master”设置为从“origin”跟踪远程分支“master”。 ##[错误]切换到一个新的分支'master'到github.com/me/myrepo.git2225935..fb28257 master -> master 你知道它可能是什么吗?
    【解决方案2】:

    如果您想使用 VSTS 在每个分支上构建,您需要编辑构建定义,然后设置适当的触发器。这样,构建将自动发生,而不必手动排队。

    官方Microsoft documentation这个不错,讲的比较详细。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-11-17
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多