我已经使用vs团队服务开始构建自动化。我通过个人访问令牌将我的github存储库与Visual Studio Team Services链接在一起。
现在我可以在Visual Studio Team Services中选择github存储库。但在保存构建定义时,它会出现以下错误:
无法在选定的GitHub存储库上配置服务。这可能是由于没有必要的权限来管理所选存储库的挂钩。
任何人都可以帮我解决这个错误。我们是否需要为构建自动化购买任何服务?
提前致谢。
答案 0 :(得分:6)
另一种情况也会引发此问题,尤其与配置持续集成触发器有关。
我有一个github帐户和我自己的回购,但我也是一个不同项目的合作者(这是一个人员而非组织回购)。
GH允许我创建个人访问令牌,VSO认为它在构建定义上配置 Repository 选项时有效,但它没有创建 Continuous的相应权限集成触发器充当协作者到其他私人仓库。
原因是使用GitHub Web Hooks 执行触发通知。看来,当首次创建CI触发器时,VSO向GH API发起请求以订阅所请求的回购的push
事件...除了个人访问令牌包含admin:repo_hook
权限您自己的回购,而不是您作为协作者的任何回购,因为此权利不能委托给个人帐户。
我花了一些实验来解决这个问题。 8 - }
在这种情况下,我认为有两种可能的解决方案:
HTH。
答案 1 :(得分:1)
您只能构建在VS Team Service 中托管的github存储库,您将被授权才能推送到该网站。
两种方式:
在“存储库”选项卡上,单击“连接”下拉列表旁边的 管理链接。 “服务”选项卡将作为浏览器中的新选项卡打开。
a。单击“新服务端点”并选择GitHub。
b。在“添加新GitHub服务连接”对话框中,选择“授予授权”,然后单击“授权”。
c。在新的浏览器窗口中,登录GitHub并按照说明授权Visual Studio Team Services访问您的GitHub帐户。
在Repository选项卡上,选择您创建的Connection。
选择包含您要构建的代码的存储库。
在GitHub中,创建一个访问令牌。
a。选择repo,user和admin:repo_hook范围。
b。将令牌复制到剪贴板。
登录Team Services并创建构建定义。
在“存储库”选项卡上,单击“连接”下拉列表旁边的 管理链接。 “服务”选项卡将作为浏览器中的新选项卡打开。
a。单击“新服务端点”并选择GitHub。
b。在Add New GitHub Service Connection对话框中,选择Personal access token。
c。粘贴令牌并为连接命名。
在Repository选项卡上,选择您创建的Connection。
选择包含您要构建的代码的存储库。
有关详细信息,请参阅MSDN中的链接:Specify the repository - GitHub