保存构建定义在 Visual Studio Team Service 中出错
Saving build definition is giving error in Visual Studio Team Service
我已经开始使用 vs team service 构建自动化。我已通过个人访问令牌将我的 github 存储库与 Visual Studio 团队服务链接起来。
现在我可以在 Visual Studio Team Services 中 select github 个存储库。但是在保存构建定义时出现以下错误:
Unable to configure a service on the selected GitHub repository. This is likely caused by not having the necessary permission to manage hooks for the selected repository.
谁能帮我解决这个错误。我们需要为构建自动化购买任何服务吗?
提前致谢。
您只能构建托管在 VS Team Service 中的 github 存储库,您有权 推送到这些存储库。
两种方式:
使用您的 GitHub 用户帐户连接
在“存储库”选项卡上的“连接”下拉列表旁边,单击
管理 link。 “服务”选项卡在您的浏览器中作为新选项卡打开。
a.Click 新建服务端点并选择 GitHub。
b.In新增GitHub服务连接对话框,select授予授权,然后点击授权。
c.In 新浏览器 window,登录 GitHub 并按照说明授权 Visual Studio Team Services 访问您的 GitHub 帐户。
在存储库选项卡上,select 您创建的连接。
Select 包含您要构建的代码的存储库。
使用个人访问令牌连接
- 登录 GitHub 并确保您有权阅读
存储库。
在 GitHub 中,创建一个访问令牌。
a.Select 回购、用户和 admin:repo_hook 范围。
b.Copy 标记到您的剪贴板。
登录到 Team Services 并创建构建定义。
在“存储库”选项卡上的“连接”下拉列表旁边,单击
管理 link。 “服务”选项卡在您的浏览器中作为新选项卡打开。
a.Click 新建服务端点并选择 GitHub。
b.In 添加新 GitHub 服务连接对话框,select 个人访问令牌。
c.Paste 令牌并为连接命名。
在存储库选项卡上,select 您创建的连接。
Select 包含您要构建的代码的存储库。
更多细节你可以参考来自MSDN的link:Specify the repository - GitHub
还有另一种情况也会引发此问题,特别是与配置 Continuous Integration 触发器有关。
我有一个 github 帐户和我自己的存储库,但我也是另一个项目的合作者(这是一个人员而不是组织存储库)。
GH 允许我创建一个个人访问令牌,VSO 认为它在构建定义上配置 Repository 选项时有效,但它没有适当的创建权限持续集成 触发器充当另一个私人仓库的合作者。
原因是触发通知是使用GitHubWeb Hooks执行的。似乎在第一次创建 CI 触发器时,VSO 向 GH API 发起请求以订阅请求的 repo 的 push
事件......除了个人访问令牌包括admin:repo_hook
您自己的存储库的权利,而不是您作为 合作者 的任何存储库的权利,因为不能将此权利委托给个人帐户。
我做了一些实验才弄明白这一点。 8-}
在这种情况下,我认为有两种可能的解决方案:
- 要求回购所有者生成并向您提供他的个人访问令牌,并适当缩小权利范围;
- 将存储库的所有权转让给一个组织,作为该组织的成员被授予适当的权利,然后使用您的 GH 用户凭据而不是 PAT 创建您的 VSO 端点。
HTH.
我已经开始使用 vs team service 构建自动化。我已通过个人访问令牌将我的 github 存储库与 Visual Studio 团队服务链接起来。
现在我可以在 Visual Studio Team Services 中 select github 个存储库。但是在保存构建定义时出现以下错误:
Unable to configure a service on the selected GitHub repository. This is likely caused by not having the necessary permission to manage hooks for the selected repository.
谁能帮我解决这个错误。我们需要为构建自动化购买任何服务吗?
提前致谢。
您只能构建托管在 VS Team Service 中的 github 存储库,您有权 推送到这些存储库。
两种方式:
使用您的 GitHub 用户帐户连接
在“存储库”选项卡上的“连接”下拉列表旁边,单击 管理 link。 “服务”选项卡在您的浏览器中作为新选项卡打开。
a.Click 新建服务端点并选择 GitHub。
b.In新增GitHub服务连接对话框,select授予授权,然后点击授权。
c.In 新浏览器 window,登录 GitHub 并按照说明授权 Visual Studio Team Services 访问您的 GitHub 帐户。
在存储库选项卡上,select 您创建的连接。
Select 包含您要构建的代码的存储库。
使用个人访问令牌连接
- 登录 GitHub 并确保您有权阅读 存储库。
在 GitHub 中,创建一个访问令牌。
a.Select 回购、用户和 admin:repo_hook 范围。
b.Copy 标记到您的剪贴板。
登录到 Team Services 并创建构建定义。
在“存储库”选项卡上的“连接”下拉列表旁边,单击 管理 link。 “服务”选项卡在您的浏览器中作为新选项卡打开。
a.Click 新建服务端点并选择 GitHub。
b.In 添加新 GitHub 服务连接对话框,select 个人访问令牌。
c.Paste 令牌并为连接命名。
在存储库选项卡上,select 您创建的连接。
Select 包含您要构建的代码的存储库。
更多细节你可以参考来自MSDN的link:Specify the repository - GitHub
还有另一种情况也会引发此问题,特别是与配置 Continuous Integration 触发器有关。
我有一个 github 帐户和我自己的存储库,但我也是另一个项目的合作者(这是一个人员而不是组织存储库)。
GH 允许我创建一个个人访问令牌,VSO 认为它在构建定义上配置 Repository 选项时有效,但它没有适当的创建权限持续集成 触发器充当另一个私人仓库的合作者。
原因是触发通知是使用GitHubWeb Hooks执行的。似乎在第一次创建 CI 触发器时,VSO 向 GH API 发起请求以订阅请求的 repo 的 push
事件......除了个人访问令牌包括admin:repo_hook
您自己的存储库的权利,而不是您作为 合作者 的任何存储库的权利,因为不能将此权利委托给个人帐户。
我做了一些实验才弄明白这一点。 8-}
在这种情况下,我认为有两种可能的解决方案:
- 要求回购所有者生成并向您提供他的个人访问令牌,并适当缩小权利范围;
- 将存储库的所有权转让给一个组织,作为该组织的成员被授予适当的权利,然后使用您的 GH 用户凭据而不是 PAT 创建您的 VSO 端点。
HTH.