CodeDeploy 与集成 GitHub - Amazon CodeDeploy
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

CodeDeploy 与集成 GitHub

CodeDeploy 支持 GitHub,一种基于 Web 的代码托管和共享服务。 CodeDeploy 可以将存储在存储 GitHub库或 Amazon S3 存储桶中的应用程序修订部署到实例。 CodeDeploy 仅 GitHub 支持 EC2/本地部署。

从中部署 CodeDeploy 修订 GitHub

要将 GitHub 存储库中的应用程序修订部署到实例,请执行以下操作:

  1. 创建 CodeDeploy 与您要部署的 Amazon EC2 实例类型兼容的修订版。

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

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

    要创建 GitHub 账户,请参阅加入 GitHub。要创建 GitHub 存储库,请参阅创建存储库

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

    如果要调用该create-deployment命令,则必须先使用控制台的 “创建部署” 页面授予 GitHub 代表指定应用程序的首选 GitHub账户与之交互的 CodeDeploy 权限。每个应用程序只需进行一次这样的操作。

    要了解如何使用 “创建部署” 页面从 GitHub 存储库进行部署,请参阅使用创建部署 CodeDeploy

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

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

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

GitHub 行为与 CodeDeploy

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

在您授予与之交互的 CodeDeploy 权限后 GitHub,该 GitHub 账户与应用程序之间的关联将存储在中 CodeDeploy。您可以将应用程序关联到其他 GitHub 帐户。您也可以撤消与之交互 CodeDeploy 的权限。 GitHub

要将 GitHub 账户关联到应用程序 CodeDeploy
  1. 登录 Amazon Web Services Management Console 并打开 CodeDeploy 控制台,网址为 https://console.aws.amazon.com/codedeploy

    注意

    使用您在入门 CodeDeploy中设置的同一用户登录。

  2. 在导航窗格中,展开部署,然后选择应用程序

  3. 选择您要关联到其他 GitHub账户的应用程序。

  4. 如果您的应用程序没有部署组,请选择创建部署组来创建一个部署组。有关更多信息,请参阅 使用创建部署组 CodeDeploy。需要部署组在下一步中选择创建部署

  5. 部署中,选择创建部署

    注意

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

  6. “部署设置” 中,对于 “修订类型”,选择 “我的应用程序存储在” GitHub。

  7. 请执行以下操作之一:

    • 要创建 Amazon CodeDeploy 应用程序与 GitHub帐户的连接,请在单独的 Web 浏览器选项卡 GitHub 中注销。在GitHub 令牌名称中,键入用于标识此连接的名称,然后选择 Connect to GitHub。网页会提示您授权 CodeDeploy与您的应用程序进行交互。 GitHub 继续执行步骤 10。

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

    • 要创建与其他 GitHub 帐户的连接,请在单独的 Web 浏览器选项卡 GitHub 中注销。在GitHub 令牌名称中,键入用于标识连接的名称,然后选择 Connect to GitHub。网页会提示您授权 CodeDeploy 与您的应用程序进行交互。 GitHub 继续执行步骤 10。

  8. 如果您尚未登录 GitHub,请按照 “登录” 页面上的说明使用要关联应用程序的 GitHub 帐户登录。

  9. 选择授权应用程序。 GitHub CodeDeploy授予 GitHub 代表所选应用程序的登录 GitHub 账户与之交互的权限。

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

撤销与之交互 CodeDeploy 的权限 GitHub
  1. GitHub 使用您要撤销 Amazon CodeDeploy 权限的 GitHub 账户的凭据登录。

  2. 打开 “ GitHub 应用程序” 页面,CodeDeploy在已授权的应用程序列表中找到,然后按照撤消应用程序授权的 GitHub 步骤进行操作。

CodeDeploy 与私有和公共 GitHub 存储库的互动

CodeDeploy 支持从私有和公共 GitHub存储库部署应用程序。当您代表您 CodeDeploy 授予访问权限时, CodeDeploy将拥有 GitHub 对您的 GitHub 账户有权访问的所有私有 GitHub 仓库的读写权限。但是, CodeDeploy 只能从 GitHub 存储库中读取。它不会写入您的任何私有 GitHub 存储库。

CodeDeploy 与组织管理的存储库 GitHub 交互

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

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

使用自动部 CodePipeline署 CodeDeploy

CodePipeline 只要源代码发生变化,您就可以从触发部署。有关更多信息,请参阅 CodePipeline