AWS CodeDeploy
User Guide (API Version 2014-10-06)
AWS 服务或AWS文档中描述的功能,可能因地区/位置而异。点 击 Getting Started with Amazon AWS to see specific differences applicable to the China (Beijing) Region.

将 AWS CodeDeploy 与 GitHub 集成

AWS CodeDeploy 支持 GitHub(一种基于 Web 的托管和共享服务)。AWS CodeDeploy 可以将存储在 GitHub 存储库或 Amazon S3 存储桶中的应用程序修订部署到实例。

AWS CodeDeploy 与 GitHub 集成视频介绍

本简短视频 (5:20) 说明如何使用 AWS CodeDeploy 从现有的 GitHub 工作流程自动进行应用程序部署。

从 GitHub 部署 AWS CodeDeploy 修订

要将应用程序修订从 GitHub 存储库部署到实例,请执行以下步骤:

  1. 创建与 AWS CodeDeploy 和将部署到的 Amazon EC2 实例类型兼容的修订。

    要创建兼容版本,请按照计划修订添加 AppSpec 文件中的说明执行操作。

  2. 使用 GitHub 账户将您的修订添加到 GitHub 存储库。

    要创建 GitHub 账户,请参阅联接 GitHub。要创建 GitHub 存储库,请参阅创建存储库

  3. 使用 AWS CodeDeploy 控制台中的 Create deployment 页或 AWS CLI create-deployment 命令将修订从 GitHub 存储库部署到已配置为在 AWS CodeDeploy 部署中使用的目标实例。

    如果您需要调用 create-deployment 命令,则必须先使用控制台的 Create deployment 页,针对指定的应用程序为 AWS CodeDeploy 授予代表您的首选 GitHub 账户与 GitHub 进行交互的权限。每个应用程序只需进行一次这样的操作。

    要了解如何使用 Create deployment 页从 GitHub 存储库进行部署,请参阅创建部署

    要了解如何调用 create-deployment 命令从 GitHub 存储库进行部署,请参阅创建部署 (CLI)

    要了解如何准备实例以在 AWS CodeDeploy 部署中使用,请参阅使用实例

有关更多信息,请参阅 教程:从 GitHub 部署应用程序

GitHub 与 AWS CodeDeploy 之间的行为

GitHub 对 AWS CodeDeploy 中的应用程序进行的身份验证

在向 AWS CodeDeploy 提供与 GitHub 交互的权限后,GitHub 账户和应用程序之间的关联将存储在 AWS CodeDeploy 中。您可以将应用程序链接到其他 GitHub 账户。也可以撤消 AWS CodeDeploy 与 GitHub 交互的权限。

将其他 GitHub 账户链接到 AWS CodeDeploy 中的应用程序

  1. 登录 AWS 管理控制台并通过以下网址打开 AWS CodeDeploy 控制台:https://console.www.amazonaws.cn/codedeploy

    注意

    使用您在入门中使用的相同账户或 IAM 用户信息进行登录。

  2. 在 AWS CodeDeploy 菜单上,选择 Deployments

  3. 选择 Create deployment

    注意

    您无需创建新的部署。这是目前将其他 GitHub 账户链接到应用程序的唯一方式。

  4. Application 下拉列表中,选择要链接到其他 GitHub 账户的应用程序。

  5. Revision type 的旁边,选择 My application is stored in GitHub

  6. 选择 Reconnect to GitHub。系统将提示您授权 AWS CodeDeploy 代表选定应用程序的 GitHub 账户与 GitHub 进行交互。

    注意

    如果未显示 Reconnect to GitHub 链接,则表示您尚未向 AWS CodeDeploy 授予与 GitHub 交互的权限。要首次授予权限,请选择 Connect to GitHub,然后转至下一个步骤。

    如果您看到一个空白网页短暂出现后随即消失,并且未看到 Reconnect with GitHub 链接或 Connect with GitHub 按钮,则表示您已向 AWS CodeDeploy 授予与 GitHub 交互的权限,并且您当前已登录到 GitHub。要查看 Reconnect with GitHub 链接,请登出 GitHub,然后重复此部分中的步骤。

  7. 如果您尚未登录 GitHub,请按照 Sign in 页上的说明执行操作以使用要将应用程序链接到的 GitHub 账户进行登录。

  8. 选择 Authorize application。GitHub 向 AWS CodeDeploy 提供代表所选应用程序的已登录 GitHub 账户与 GitHub 交互的权限。

  9. 如果您不需要创建部署,请选择 Cancel

撤消 AWS CodeDeploy 的与 GitHub 交互的权限

  1. 使用要撤消 AWS CodeDeploy 权限的 GitHub 账户的凭证登录到 GitHub

  2. 打开 GitHub 应用程序页,在已授权应用程序列表中找到 AWS CodeDeploy,然后按照用于撤消应用程序授权的 GitHub 过程执行操作。

AWS CodeDeploy 与私有和公有 GitHub 存储库进行交互

AWS CodeDeploy 支持从私有和公有 GitHub 存储库部署应用程序。当您向 AWS CodeDeploy 授予代表您访问 GitHub 的权限后,AWS CodeDeploy 针对您的 GitHub 账户有权访问的所有私有 GitHub 存储库都将拥有读写访问权。不过,AWS CodeDeploy 只能从 GitHub 存储库进行读取。它将不会对任何私有 GitHub 存储库进行写入。

AWS CodeDeploy 与组织托管的 GitHub 存储库进行交互

默认情况下,组织托管的 GitHub 存储库(与账户自己的私有或公有存储库相对)未授予对第三方应用程序(包括 AWS CodeDeploy)的访问权。如果在 GitHub 中启用组织的第三方应用程序限制,并且您尝试从其 GitHub 存储库中部署代码,则部署将失败。可通过两种方式解决此问题。

有关更多信息,请参阅关于第三方应用程序限制

使用 AWS CodeDeploy 自动从 GitHub 部署

当源代码发生更改时,您可以触发从 GitHub 存储库进行的部署。有关说明,请参阅使用 AWS CodeDeploy 自动从 GitHub 部署