【问题标题】:AWS CodeDeploy Error "The revision size is too large. Its maximum size is 51200B"AWS CodeDeploy 错误“修订大小太大。其最大大小为 51200B”
【发布时间】:2020-09-06 15:51:49
【问题描述】:

我正在尝试在 AWS 上部署 Django Web 应用程序。

我使用 Jenkins for CI 和 CodeDeploy 插件将我的构建部署到 AWS CodeDeploy。 Jenkins 工作正常,构建完成后我看到“FINISHED:SUCCESS”。

但是当我导航到我的 AWS CodeDeploy 控制台时,我看到一条错误消息:

"修订版尺寸过大。其最大尺寸为 51200B。"

我已将 appspec.yml 文件添加到我的项目的根目录,但它没有帮助。

appspec.yml

version: 0.0
os: linux
files:
  - source: /
    destination: /home/ubuntu/wamsport/
permissions:
  - object: /home/ubuntu/wamsport
    pattern: "**"
    owner: ubuntu
    group: ubuntu

【问题讨论】:

  • 当您在 CD 中手动创建部署组并进行部署时,是否会出现同样的错误?还是仅在使用 Jenkins 时?
  • @Marcin 是的。实际上从 S3 部署到 CD 有问题:(

标签: django amazon-web-services jenkins amazon-s3 aws-code-deploy


【解决方案1】:

您没有提到这是什么类型的 CodeDeploy 应用程序(EC2、ECS)。我假设它是 ECS 蓝/绿,因为这是通常出现此错误的地方。

错误消息中提到的修订大小限制为 51200B。此修订版通常应该很小,仅包括 appspec 文件、taskdef 文件和 imageDetails 或 imageDefinitions 文件等内容,远低于可用的 51kb 限制。

请检查您的 zip 文件的内容以确认大小超过 51kb 的原因。无论里面有什么,ECS B/G 都不需要。

编辑1:

我刚刚看到了适用于 EC2 的 AppSpec,所以我相信您在创建 CodeDeploy 应用程序时选择了错误的计算平台(Amazon ECS 而不是 EC2)。

【讨论】:

  • ECS B/G 不需要它是什么意思?例如,您如何在蓝色服务器中部署您的 python 文件?
  • 如果您通过 CodeDeploy 看到 ECS B/G 部署的 AppSpec 文件 [1],您会看到它只是一个规范文件,没有“代码”本身。您的 (python) 代码将位于已推送到注册表的容器映像中,并且该映像将在 ECS 任务定义中引用 - 然后在 CodeDeploy AppSpec 中指定此任务定义。 [1]:docs.aws.amazon.com/codedeploy/latest/userguide/…
猜你喜欢
  • 2023-03-08
  • 2021-07-16
  • 2017-10-16
  • 2017-07-23
  • 2018-08-15
  • 2016-02-23
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多