保存构建定义在Visual Studio Team Service中出错

时间:2016-03-22 06:49:10

标签: c# tfs tfsbuild azure-devops

我已经使用vs团队服务开始构建自动化。我通过个人访问令牌将我的github存储库与Visual Studio Team Services链接在一起。

现在我可以在Visual Studio Team Services中选择github存储库。但在保存构建定义时,它会出现以下错误:

  

无法在选定的GitHub存储库上配置服务。这可能是由于没有必要的权限来管理所选存储库的挂钩。

任何人都可以帮我解决这个错误。我们是否需要为构建自动化购买任何服务?

提前致谢。

2 个答案:

答案 0 :(得分:6)

另一种情况也会引发此问题,尤其与配置持续集成触发器有关。

我有一个github帐户和我自己的回购,但我也是一个不同项目的合作者(这是一个人员而非组织回购)。

GH允许我创建个人访问令牌,VSO认为它在构建定义上配置 Repository 选项时有效,但它没有创建 Continuous的相应权限集成触发器充当协作者到其他私人仓库。

原因是使用GitHub Web Hooks 执行触发通知。看来,当首次创建CI触发器时,VSO向GH API发起请求以订阅所请求的回购的push事件...除了个人访问令牌包含admin:repo_hook权限您自己的回购,而不是您作为协作者的任何回购,因为此权利不能委托给个人帐户。

我花了一些实验来解决这个问题。 8 - }

在这种情况下,我认为有两种可能的解决方案:

  1. 要求回购所有者生成并提供他的个人访问令牌,其权限范围适当;
  2. 将回购的所有权转让给组织,作为该组织的成员授予适当的权利,然后使用您的GH用户凭据而不是PAT创建您的VSO端点。
  3. HTH。

答案 1 :(得分:1)

您只能构建在VS Team Service 中托管的github存储库,您将被授权才能推送到该网站。

两种方式:

使用您的GitHub用户帐户

进行连接
  1. 在“存储库”选项卡上,单击“连接”下拉列表旁边的         管理链接。 “服务”选项卡将作为浏览器中的新选项卡打开。

    a。单击“新服务端点”并选择GitHub。

    b。在“添加新GitHub服务连接”对话框中,选择“授予授权”,然后单击“授权”。

    c。在新的浏览器窗口中,登录GitHub并按照说明授权Visual Studio Team Services访问您的GitHub帐户。

  2. 在Repository选项卡上,选择您创建的Connection。

  3. 选择包含您要构建的代码的存储库。

  4. 使用个人访问令牌连接

    1. 登录GitHub并确保您有权阅读 库中。
    2. 在GitHub中,创建一个访问令牌。

      a。选择repo,user和admin:repo_hook范围。

      b。将令牌复制到剪贴板。

    3. 登录Team Services并创建构建定义。

    4. 在“存储库”选项卡上,单击“连接”下拉列表旁边的 管理链接。 “服务”选项卡将作为浏览器中的新选项卡打开。

      a。单击“新服务端点”并选择GitHub。

      b。在Add New GitHub Service Connection对话框中,选择Personal access token。

      c。粘贴令牌并为连接命名。

    5. 在Repository选项卡上,选择您创建的Connection。

    6. 选择包含您要构建的代码的存储库。

    7. 有关详细信息,请参阅MSDN中的链接:Specify the repository - GitHub