Tal*_*Tal 41 amazon-elastic-beanstalk
部署到EB时出现以下错误:
错误:您的应用程序版本不能超过500个.删除一些应用程序版本或请求限制增加.
我手动删除了一些版本.由于此限制,我不希望部署失败.Elastic Beanstalk中有没有办法自动驱逐未使用的版本?
Roh*_*nga 66
最近在eb cli(v3.3)中添加了一个功能来清理旧版本
https://m.reddit.com/r/aws/comments/340ce0/whats_the_thinking_behind_beanstalks_versioning/
从reddit链接复制命令
$ eb labs cleanup-versions --help
usage: eb labs cleanup-versions [options...]
Cleans up old application versions.
optional arguments:
--num-to-leave NUM number of versions to leave DEFAULT=10
--older-than DAYS delete only versions older than x days DEFAULT=60
--force don't prompt for confirmation
Run Code Online (Sandbox Code Playgroud)
Nat*_*ron 17
从配置应用程序版本生命周期设置文档:
每次创建新的应用程序版本时,Elastic Beanstalk都会应用应用程序的生命周期策略,并且每次应用生命周期策略时都会删除最多100个版本.Elastic Beanstalk在创建新版本后删除旧版本,并且不会将新版本计入策略中定义的最大版本数.
Elastic Beanstalk不会删除当前正由环境使用的应用程序版本,也不会删除部署到触发策略前不到十周终止的环境的应用程序版本.
应用程序版本限制适用于区域中的所有应用程序.如果您有多个应用程序,请使用适当的生命周期策略配置每个应用程序以避免达到限制.如果应用程序版本创建成功,Elastic Beanstalk仅应用策略,因此如果您已达到限制,则必须在创建新版本之前手动删除某些版本.
在撰写此答案时,eb labs cleanup-versions它对我不起作用:No application versions to delete即使我有应用程序版本,它也会返回。
作为一种解决方法,我使用了受此答案启发的单行(相应地更改区域和应用程序名称):
aws elasticbeanstalk describe-application-versions --output text --region= us-west-2 --query 'ApplicationVersions[*].[ApplicationName,VersionLabel,DateCreated]' | grep我的应用程序名称| 在读取应用版本日期时;do echo "deleting version $app $ver $date" ; aws elasticbeanstalk delete-application-version --region= us-west-2 --application-name $app --version-label $ver --delete-source-bundle; 完毕
我在这里找到了解决方案,简单的解决方案是删除以前的版本,如下所述。
删除应用程序版本
打开 Elastic Beanstalk 控制台,然后在区域列表中选择您的 AWS 区域。
在导航窗格中,选择应用程序,然后从列表中选择应用程序的名称。
笔记
如果您有很多应用程序,请使用搜索栏来过滤应用程序列表。
在导航窗格中,找到应用程序的名称并选择应用程序版本。
选择一个或多个您要删除的应用程序版本。
选择操作,然后选择删除。
(可选)要将这些应用程序版本的应用程序源包保留在您的 Amazon Simple Storage Service (Amazon S3) 存储桶中,请清除从 Amazon S3 删除版本复选框。
选择删除。
另一种解决方案
转到版本设置并启用生命周期策略,如下所示。
参考:https://docs.aws.amazon.com/elasticbeanstalk/latest/dg/applications-versions.html
| 归档时间: |
|
| 查看次数: |
9957 次 |
| 最近记录: |