AWS CodeDeploy
User Guide (API Version 2014-10-06)
AWS 服务或AWS文档中描述的功能,可能因地区/位置而异。请点击 Amazon AWS 入门,可查看中国地区的具体差异

将 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 实例类型兼容的修订。

    要创建兼容版本,请按照计划 AWS CodeDeploy 的修订将应用程序规范文件添加到 AWS CodeDeploy 的修订中的说明执行操作。

  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 存储库进行部署,请参阅使用 AWS CodeDeploy 创建部署

    要了解如何调用 create-deployment 命令从 GitHub 存储库进行部署,请参阅创建 EC2/本地 计算平台 部署 (CLI)

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

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

GitHub 与 AWS CodeDeploy 之间的行为

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

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

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

  1. Sign in to the AWS 管理控制台 and open the AWS CodeDeploy console at https://console.amazonaws.cn/codedeploy.

    注意

    Sign in with the same account or IAM user information you used in AWS CodeDeploy 入门.

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

  3. 选择 Create deployment

    注意

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

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

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

  6. Connect to GitHub 中,执行下列操作之一:

    • 要为 AWS CodeDeploy 应用程序创建与 GitHub 账户的连接,请在单独的 Web 浏览器选项卡中注销 GitHub。在 GitHub account 中,键入一个名称来标识此连接,然后选择 Connect to GitHub。该网页将提示您授权 AWS CodeDeploy 与您的应用程序的 GitHub 进行交互。继续执行步骤 2。

    • 要使用已创建的连接,请在 GitHub account 中,选择其名称,然后选择 Connect to GitHub。继续执行步骤 4。

    • 要创建与其他 GitHub 账户的连接,请在单独的 Web 浏览器选项卡中注销 GitHub。选择 Connect to a different GitHub account,然后选择 Connect to GitHub。继续执行步骤 2。

  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 部署