目前正在部署中,我得到:
钩子/opt/elasticbeanstalk/hooks/preinit/30directories.sh失败
我希望完全使用.ebextensions删除钩子,我目前正在使用:
/.eb扩展名/01-删除-unused.config
commands:
removeunused:
command: "rm -f /opt/elasticbeanstalk/hooks/preinit/30directories.sh"
ignoreErrors: true
files:
"/opt/elasticbeanstalk/hooks/preinit/30directories.sh":
mode: "000755"
owner: root
group: root
content: |
#!/usr/bin/env bash
ls发布于 2017-01-10 23:04:50
我不知道这有多重要,但您使用的是什么ElasticBeanstalk平台呢?For ,特别是(可能还有其他平台),我不认为有任何方法可以像您所描述的那样做到这一点。
不幸的是,preinit脚本在ElasticBeanstalk将.ebextensions注入您的环境之前就已经执行了,并且它们只有在新实例启动时才会运行。要确认这一点,可以检查新部署的/var/log/eb-activity.log实例上的ElasticBeanstalk,该实例显示与AWS为您记录的引导过程相关的所有内容。在这个日志文件中搜索Initialization/PreInitStage0/PreInitHook,然后搜索.ebextensions;您将看到preinit脚本确实在大多数其他内容之前被执行,而.ebextensions文件出现得更晚。(关于它的价值,这篇博客文章可能会进一步帮助理解哪个钩子在什么时候运行)
您可以做的是配置一个.ebextensions脚本,使其在所有其他非preinit hooks脚本之前执行,这些脚本将重新执行(并可能撤消对所有preinit脚本的更改)。然而,我猜这将是更多的麻烦,这是值得的,因为可能会有意外的副作用,可能由此产生。
无论如何,这些是我的发现,试图做一些类似的事情。希望这会有所帮助(尽管我还没有从技术上解决你的问题)!
https://stackoverflow.com/questions/39192089
复制相似问题