AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / server / 问题 / 771322
Accepted
gregmac
gregmac
Asked: 2016-04-19 20:01:30 +0800 CST2016-04-19 20:01:30 +0800 CST 2016-04-19 20:01:30 +0800 CST

ElasticBeanstalk 错误“应用程序版本不可用且无法与环境一起使用”是什么意思?

  • 772

我正在尝试使用 AWS-cli 工具将 .NET 应用程序部署到 ElasticBeanstalk。

首先上传然后使用创建版本:

aws elasticbeanstalk create-application-version 
   --application-name "MyApp - DEV" 
   --version-label "0.1.165" 
   --source-bundle S3Bucket="xxx",S3Key="MyApp.0.1.165.zip" 
   --process 

这有效,所以下一步:

aws elasticbeanstalk update-environment 
  --environment-name "myapp-dev-env" 
  --version-label "0.1.165" 
  --application-name "MyApp - DEV" 

这有时会以代码 255 退出并输出:

调用 UpdateEnvironment 操作时发生客户端错误(InvalidParameterValue):应用程序版本不可用,无法与环境一起使用

令人沮丧的是这些确切的步骤(由我的持续集成服务器运行)有时有效,如果我使用 AWS 控制台部署此版本,它也有效。我上传的 zip 看起来没有任何不同,事实上,如果我从相同的源修订版重建(使用之前成功部署的构建,这给了它一个新的版本号),它似乎(通常)运行进入这个问题。

我找不到有关此错误含义的任何详细信息,那么我还能在哪里查看发生了什么?

amazon-web-services elastic-beanstalk
  • 1 1 个回答
  • 4729 Views

1 个回答

  • Voted
  1. Best Answer
    gregmac
    2016-04-21T06:17:49+08:002016-04-21T06:17:49+08:00

    该问题是由于未能等待“处理”新版本而引起的。

    create-application-version命令返回:

      [Exec] {
      [Exec]     "ApplicationVersion": {
      [Exec]         "ApplicationName": "MyApp - DEV", 
      [Exec]         "Status": "PROCESSING", 
      [Exec]         "VersionLabel": "0.1.165", 
      [Exec]         "DateCreated": "2016-04-19T19:27:35.948Z", 
      [Exec]         "DateUpdated": "2016-04-19T19:27:35.948Z", 
      [Exec]         "SourceBundle": {
      [Exec]             "S3Bucket": "xxx", 
      [Exec]             "S3Key": "MyApp.0.1.165.zip"
      [Exec]         }
      [Exec]     }
      [Exec] }
    

    我延迟了 3 秒,然后跑了describe-application-versions,得到了

      [Exec]             "Status": "PROCESSED", 
    

    (有趣的是,DateUpdated没有改变)

    之后,该update-environment命令工作正常,并且我已经部署了多个版本而没有问题。


    一个适当的解决方法是继续运行describe-application-versions直到 Status!="Processing",然后处理所有故障情况(“Processing”或“Processed”以外的状态,或永远保持“Processing”)。

    在我的情况下,我从 msbuild 调用它(循环和等待非常困难),所以我对任意延迟的解决方法感到满意,并允许update-environment命令在出现问题时失败。因为生产在 之前保持不变update-environment,并且实际部署时间(导致该命令)并不重要,所以我不需要付出太多努力。

    • 2

相关问题

  • 与 AWS 中的其他系统相比,CentOS 报告的总内存较低

  • 如何在 Amazon Linux 服务器上升级到 Java 1.8?

  • 了解 Amazon AWS 使用数据

  • 亚马逊提供的负载均衡服务体验如何?

  • ELB 中现有节点的 AWS 自动缩放问题

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    新安装后 postgres 的默认超级用户用户名/密码是什么?

    • 5 个回答
  • Marko Smith

    SFTP 使用什么端口?

    • 6 个回答
  • Marko Smith

    命令行列出 Windows Active Directory 组中的用户?

    • 9 个回答
  • Marko Smith

    什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同?

    • 3 个回答
  • Marko Smith

    如何确定bash变量是否为空?

    • 15 个回答
  • Martin Hope
    Tom Feiner 如何按大小对 du -h 输出进行排序 2009-02-26 05:42:42 +0800 CST
  • Martin Hope
    Noah Goodrich 什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同? 2009-05-19 18:24:42 +0800 CST
  • Martin Hope
    Brent 如何确定bash变量是否为空? 2009-05-13 09:54:48 +0800 CST
  • Martin Hope
    cletus 您如何找到在 Windows 中打开文件的进程? 2009-05-01 16:47:16 +0800 CST

热门标签

linux nginx windows networking ubuntu domain-name-system amazon-web-services active-directory apache-2.4 ssh

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve