本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
将 CodeDeploy 与 GitHub 集成
CodeDeploy 支持 GitHub
从 GitHub 部署 CodeDeploy 修订
要将应用程序修订从 GitHub 存储库部署到实例,请执行以下步骤:
-
创建与 CodeDeploy 和将部署到的 Amazon EC2 实例类型兼容的修订。
要创建兼容版本,请按照为 CodeDeploy 规划修订和将应用程序规范文件添加到 CodeDeploy 的修订中的说明执行操作。
-
使用 GitHub 账户将您的修订添加到 GitHub 存储库。
-
使用 CodeDeploy 控制台中的创建部署页面或 AWS CLI create-deployment 命令将您的修订从 GitHub 存储库部署到配置为在 CodeDeploy 部署中使用的目标实例。
如果您需要调用 create-deployment 命令,则必须先使用此控制台的创建部署页,针对指定应用程序为 CodeDeploy 授予代表您的首选 GitHub 账户与 GitHub 交互的权限。每个应用程序只需进行一次这样的操作。
要了解如何使用 Create deployment 页从 GitHub 存储库进行部署,请参阅使用创建部署 CodeDeploy。
要了解如何调用 create-deployment 命令从 GitHub 存储库进行部署,请参阅创建 EC2 /本地计算平台部署 (CLI)。
要了解如何准备实例以在 CodeDeploy 部署中使用,请参阅使用适用于 CodeDeploy 的实例。
有关更多信息,请参阅 教程:使用 CodeDeploy 从 GitHub 部署应用程序。
使用 CodeDeploy 实现 GitHub 行为
主题
GitHub 对 CodeDeploy 中的应用程序进行的身份验证
在向 CodeDeploy 提供与 GitHub 交互的权限后,GitHub 账户和应用程序之间的关联将存储在 CodeDeploy 中。您可以将应用程序链接到其他 GitHub 账户。也可以撤消 CodeDeploy 与 GitHub 交互的权限。
将 GitHub 账户链接到 CodeDeploy 中的应用程序
登录 AWS 管理控制台并打开 CodeDeploy 控制台,网址为 https://console.aws.amazon.com/codedeploy
。 注意
使用您在入门 CodeDeploy中设置的同一用户登录。
在导航窗格中,展开部署,然后选择应用程序。
-
选择要链接到其他 GitHub 账户的应用程序。
-
如果您的应用程序没有部署组,请选择创建部署组来创建一个部署组。有关更多信息,请参阅 使用创建部署组 CodeDeploy。需要部署组在下一步中选择创建部署。
-
从部署中,选择创建部署。
注意
您无需创建新的部署。这是目前将其他 GitHub 账户链接到应用程序的唯一方式。
-
在部署设置中,对于修订类型,选择我的应用程序将存储在 GitHub 中。
-
请执行以下操作之一:
-
要为 AWS CodeDeploy 应用程序创建与 GitHub 账户的连接,请在单独的 Web 浏览器选项卡中注销 GitHub。在 GitHub 令牌名称中,键入一个名称来标识此连接,然后选择连接到 GitHub。该网页提示您授权 CodeDeploy 与您应用程序的 GitHub 进行交互。继续执行步骤 10。
-
要使用已创建的连接,请在 GitHub 令牌名称中,选择其名称,然后选择连接到 GitHub。继续执行步骤 8。
-
要创建与其他 GitHub 账户的连接,请在单独的 Web 浏览器选项卡中注销 GitHub。在 GitHub 令牌名称中,键入一个名称来标识此连接,然后选择连接到 GitHub。该网页提示您授权 CodeDeploy 与您应用程序的 GitHub 进行交互。继续执行步骤 10。
-
-
如果您尚未登录 GitHub,请按照 Sign in 页上的说明执行操作以使用要将应用程序链接到的 GitHub 账户进行登录。
-
选择授权应用程序。GitHub 向 CodeDeploy 提供代表所选应用程序的已登录 GitHub 账户与 GitHub 交互的权限。
-
如果您不需要创建部署,请选择 Cancel。
撤消 CodeDeploy 与 GitHub 交互的权限
CodeDeploy 与私有和公有 GitHub 存储库进行交互
CodeDeploy 支持从私有和公有 GitHub 存储库部署应用程序。当您向 CodeDeploy 授予代表您访问 GitHub 的权限后,CodeDeploy 针对您的 GitHub 账户有权访问的所有私有 GitHub 存储库都将拥有读写访问权。不过,CodeDeploy 只能从 GitHub 存储库进行读取。它将不会对任何私有 GitHub 存储库进行写入。
CodeDeploy 与组织托管的 GitHub 存储库进行交互
默认情况下,组织托管的 GitHub 存储库(与账户自己的私有或公有存储库相对)未授予对第三方应用程序(包括 CodeDeploy)的访问权。如果在 GitHub 中启用组织的第三方应用程序限制,并且您尝试从其 GitHub 存储库中部署代码,则部署将失败。可通过两种方式解决此问题。
-
作为组织成员,您可以要求组织所有者批准对 CodeDeploy 的访问权。请求此访问权的步骤取决于您是否已授权单个账户访问 CodeDeploy:
-
如果您已在账户中授予对 CodeDeploy 的访问权,请参阅请求组织批准您的授权应用程序
。 -
如果您尚未在账户中授予对 CodeDeploy 的访问权,请参阅请求组织批准第三方应用程序
。
-
-
组织所有者可禁用组织的所有第三方应用程序限制。有关信息,请参阅禁用组织的第三方应用程序限制
。
有关更多信息,请参阅关于第三方应用程序限制
使用 CodeDeploy 从 CodePipeline 自动部署
当源代码发生更改时,您可以触发从 CodePipeline 进行的部署。有关更多信息,请参阅 CodePipeline