AWS CodePipeline无法访问组织的存储库

时间:2015-09-04 11:48:36

标签: amazon-web-services github continuous-deployment aws-codepipeline

我正在尝试在AWS Codepipeline中设置持续部署管道。

在创建管道时,我提供了#34; Source provider"作为GitHub然后连接到GitHub。 我能够在" Repository"中看到我的公共存储库。在“创建管道”页面中下拉列表。但是我无法在此下拉列表中看到我的组织的私有存储库。 我在组织中有写访问权。

如何让AWS Codepipeline访问我的组织存储库。

4 个答案:

答案 0 :(得分:16)

AWS CodePipeline需要两个GitHub scopes进行操作,如Product and Service Integrations with AWS CodePipeline: Source Action Integrations中的 GitHub 部分所述:

  

[...]你可以连接到   GitHub存储库通过创建新管道或编辑   现有的。 第一次将GitHub存储库添加到   管道,您将被要求授权AWS CodePipeline访问   您的存储库。要与GitHub集成,AWS CodePipeline使用   OAuth令牌并需要两个GitHub范围:admin:repo_hook,即   用于检测何时提交并推送更改   存储库和repo,用于从中读取和提取工件   公共和私有存储库成为管道。欲获得更多信息   关于GitHub范围,请参阅GitHub Developer API Reference   使用   for AWS CodePipeline是为所有存储库配置的   GitHub帐户有权访问;它目前无法配置   个人资料库。
   [强调我的]

现在,虽然您可能已经这样做了,但您的组织可能已设置为默认情况下不授予访问权限(虽然在授权新应用程序/服务时这是可见且可调整的,但很容易被忽略) - 这是resp。 GitHub工具提示:

  

在所有者授予访问权限之前,应用程序无法访问组织的私有数据或修改其公共数据。

如果您是组织的所有者,则可以通过执行引用的CodePipeline GitHub文档中列出的反向说明来明确授予访问权限:

  

您可以选择“设置”,从GitHub撤消此访问权限   应用程序,然后在授权应用程序下查找AWS   CodePipeline在授权应用程序列表中并选择   撤消。 [...]

也就是说,转到您的GitHub个人资料=>设置=>应用程序=> AWS CodePipeline,然后单击每个适用组织的Grant access按钮。

答案 1 :(得分:6)

您需要具有管理员/所有者级别才能向您的组织存储库授予AWS Codepipeline访问权限。

我拍了一些截图以进行澄清。

步骤:
1.转到https://github.com/settings/applications。与按Profile Avatar,在下拉菜单中按“设置”,然后在左侧菜单中按“应用程序”相同。
2.按顶部菜单上的“授权的OAuth应用”。
3.单击AWS CodePipeline项目。
4.将出现一个页面,显示权限以及组织访问权限。
5.按授予按钮,您的组织名称旁边将出现一个复选标记。

enter image description here Grant AWS CodePipeline access to Organization

答案 2 :(得分:3)

对我来说,以下步骤有效。

  1. 从右上角转到个人资料的“设置”。
  2. 转到“个人设置”下的“应用程序”。
  3. 根据您的情况选择CodePipeline授权的OAuth应用。
  4. 组织访问权限。

:)

答案 3 :(得分:1)

我们遇到了同样的问题。 此操作需要Repo Admin级别权限。因此,您必须从您的组织请求管理员级别访问回购。 我们最终在私人org repo中创建了一个具有admin repo的服务用户,然后我们可以访问CI工具。