AWS CodeDeploy 部署操作参考 - AWS CodePipeline

AWS CodeDeploy 部署操作参考

您需要使用 AWS CodeDeploy 操作将应用程序代码部署到您的部署实例集。您的部署实例集可以由 Amazon EC2 实例和/或本地实例组成。

注意

本参考主题介绍 CodePipeline 的 CodeDeploy 部署操作,其中部署平台是 Amazon EC2。有关 CodePipeline 中的 Amazon Elastic Container Service 到 CodeDeploy 蓝绿部署操作的参考信息,请参阅 Amazon Elastic Container Service 和 CodeDeploy 蓝绿部署操作参考

操作类型

  • 类别:Deploy

  • 拥有者:AWS

  • 提供方:CodeDeploy

  • 版本:1

配置参数

ApplicationName

必需:是

您在 CodeDeploy 中创建的应用程序的名称。

DeploymentGroupName

必需:是

您在 CodeDeploy 中创建的部署组。

输入构件

  • 构件数:1

  • 描述:CodeDeploy 用来确定以下事项的 AppSpec 文件:

    • 要从 Amazon S3 或 GitHub 中的应用程序修订向您的实例安装什么。

    • 为响应部署生命周期事件而要运行的生命周期事件挂钩。

    有关 AppSpec 文件的更多信息,请参阅 CodeDeploy AppSpec 文件参考

输出构件

  • 构件数:0

  • 描述:输出构件不适用于此操作类型。

服务角色权限:AWS CodeDeploy 操作

对于 AWS CodeDeploy 支持,将以下内容添加到策略语句中:

JSON
{ "Version":"2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "codedeploy:CreateDeployment", "codedeploy:GetApplication", "codedeploy:GetDeployment", "codedeploy:RegisterApplicationRevision", "codedeploy:ListDeployments", "codedeploy:ListDeploymentGroups", "codedeploy:GetDeploymentGroup" ], "Resource": [ "arn:aws:codedeploy:*:111122223333:application:[[codedeployApplications]]", "arn:aws:codedeploy:*:111122223333:deploymentgroup:[[codedeployApplications]]/*" ] }, { "Effect": "Allow", "Action": [ "codedeploy:GetDeploymentConfig" ], "Resource": [ "arn:aws:codedeploy:*:111122223333:deploymentconfig:[[deploymentConfigs]]" ] }, { "Effect": "Allow", "Action": [ "codedeploy:ListDeploymentConfigs" ], "Resource": [ "*" ] } ] }

操作声明

YAML
Name: Deploy Actions: - Name: Deploy ActionTypeId: Category: Deploy Owner: AWS Provider: CodeDeploy Version: '1' RunOrder: 1 Configuration: ApplicationName: my-application DeploymentGroupName: my-deployment-group OutputArtifacts: [] InputArtifacts: - Name: SourceArtifact Region: us-west-2 Namespace: DeployVariables
JSON
{ "Name": "Deploy", "Actions": [ { "Name": "Deploy", "ActionTypeId": { "Category": "Deploy", "Owner": "AWS", "Provider": "CodeDeploy", "Version": "1" }, "RunOrder": 1, "Configuration": { "ApplicationName": "my-application", "DeploymentGroupName": "my-deployment-group" }, "OutputArtifacts": [], "InputArtifacts": [ { "Name": "SourceArtifact" } ], "Region": "us-west-2", "Namespace": "DeployVariables" } ] },

下列相关资源在您使用此操作的过程中会有所帮助。

  • 教程:创建一个简单的管道(S3 存储桶):本教程将引导您创建源桶、EC2 实例和 CodeDeploy 资源,以部署示例应用程序。然后,您可以构建具有 CodeDeploy 部署操作的管道,用于将 S3 桶中维护的代码部署到您的 Amazon EC2 实例。

  • 教程:创建一个简单的管道(CodeCommit 存储库):本教程将引导您创建 CodeCommit 源存储库、EC2 实例和 CodeDeploy 资源,以部署示例应用程序。然后,您将构建具有 CodeDeploy 部署操作的管道,用于从您的 CodeCommit 存储库将代码部署到您的 Amazon EC2 实例。

  • CodeDeploy AppSpec 文件参考AWS CodeDeploy 用户指南 中的本参考章节提供了 CodeDeploy AppSpec 文件的参考信息和示例。