【问题标题】:Packages not installing though elastic beanstalk config.yml未通过弹性 beanstalk config.yml 安装的软件包
【发布时间】:2016-08-02 04:48:08
【问题描述】:

我的配置文件中有以下几行

commands:
  install_packages:
    command: sudo yum -y install libxml2-devel libxslt-devel

我也试过

packages:
  yum:
    libxml2-devel: []
    other package

这两个似乎都无法安装软件包。

我正在尝试安装 pyusps python 模块,如果没有这些软件包,安装将失败。我可以通过 SSH 手动安装它们,然后 pyusps 会安装

我不确定我哪里出错了。

谢谢

【问题讨论】:

  • sudo 不需要 inc 命令,因为它是由 root 执行的。确保 cwd 和 PATH 也正确指定。
  • 包将是合乎逻辑的方式。愚蠢的问题:你确定你的仓库中有 libxml2-devel 吗?您确定 YUM 是您的 linux 发行版的包管理器(您使用的是 Amazon Linux 吗?)
  • 我确定 libxml2-devel 可用我可以 ssh 进入并安装它,是的,我使用的是 Amazon linux
  • 此外,YAML 对制表符和空格非常敏感(只有空格有效)。缩进的空格数是否正确?
  • 我相信我有正确的空格数,我根据生成的文件建模,我使用的是空格键而不是制表符

标签: python amazon-web-services yaml amazon-elastic-beanstalk


【解决方案1】:

配置文件必须是添加到项目源中的.ebextensions 目录的一部分。

使用eb create / eb deploy 命令行部署代码时,这些命令使用git archive 命令打包您的代码并将其上传到Elastic Beanstalk 进行部署(http://docs.aws.amazon.com/elasticbeanstalk/latest/dg/eb3-deploy.html)

当您的 .ebextensions 不受 git 控制时(例如,如果它包含在您的 .gitignore 中),则不会打包目录及其配置文件并将其发送到 Elastic Beanstalk。

确保在部署到 Elastic Beanstalk 之前添加并提交 .ebextensions 目录。

git add .ebextensions/*
git commit -m "add eb config files"

【讨论】:

  • 我不知道什么是 ebignore 文件。只需将您的 .ebextensions 目录添加到 git 并重新部署,它将解决您的问题
  • 非常感谢!
  • .ebignore 是 .gitignore 的 elasticbeanstalk 等价物,并在部署时替换了 .gitignore,因此它很重要。看到这个答案:stackoverflow.com/questions/28763205/…
猜你喜欢
  • 2015-01-15
  • 2017-07-31
  • 2015-12-18
  • 1970-01-01
  • 1970-01-01
  • 2017-01-25
  • 2020-03-22
  • 1970-01-01
  • 2020-09-11
相关资源
最近更新 更多