事实证明,这是错误的方式使用弹性豆茎。该应用程序将运行,但它将是一个黑客,而不是一个正确的解决方案。
我正在使用以下设置部署PHP应用程序:
PHP脚本应该作为后台任务在post部署钩子上执行,它从不停止运行。这实际上堵塞了管道。
下面是.ebextensions配置文件的代码。
container_commands:
01-create_post_hook:
command: "mkdir -p /opt/elasticbeanstalk/hooks/appdeploy/post"
ignoreErrors: true
files:
"/opt/elasticbeanstalk/hooks/appdeploy/post/start.sh":
mode: "000770"
owner: root
group: root
content: | #!/bin/bash
echo "--------Starting Runner------------"
php /var/app/current/runner.php &由于应该在后台运行的脚本实际上从未完成,所以应用程序的健康状态始终保持在"info“。这是一个问题,因为成功部署应用程序需要“确定”。
我在网上也发现了类似的问题:
https://forums.aws.amazon.com/thread.jspa?threadID=301439&tstart=0 https://forums.aws.amazon.com/thread.jspa?messageID=425130
发布于 2020-01-21 16:31:26
通常情况下,我们使用CI/CD (连续集成/连续交付)工具,如Jenkins、CircleCI或竹子来完成这些工作。他们可以从Bitbucket获得一个web钩子,这会触发任何类型的任务,比如调用PHP脚本、运行bash脚本、运行raketask等等。
https://serverfault.com/questions/965761
复制相似问题