首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >运行PHP脚本作为AWS豆柄后安装钩子中的后台进程

运行PHP脚本作为AWS豆柄后安装钩子中的后台进程
EN

Server Fault用户
提问于 2019-05-03 14:59:17
回答 1查看 624关注 0票数 1

UDPATE

事实证明,这是错误的方式使用弹性豆茎。该应用程序将运行,但它将是一个黑客,而不是一个正确的解决方案。

使用EC2代替.

我正在使用以下设置部署PHP应用程序:

设置

  1. Bitbucket管道使用composer构建applucation,并创建一个已完成的zip文件。
  2. Bitbucket AWS弹性Bean秸秆将代码部署到AWS弹性Bean秸秆应用程序中。
  3. 后安装钩子在opt/弹性串珠柄/hooks/appdeploy/ post中确实在部署后运行PHP脚本

问题

PHP脚本应该作为后台任务在post部署钩子上执行,它从不停止运行。这实际上堵塞了管道。

管道永久运行截图(故意停止)

的Bitbucket管道检查健康状态用弹性梁杆的应用

下面是.ebextensions配置文件的代码。

代码语言:javascript
复制
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 &

问题

  • bash脚本是否被正确配置为在后台运行?
  • 在更新应用程序之后,是否还有其他(推荐的)方法来执行脚本?

Notes

由于应该在后台运行的脚本实际上从未完成,所以应用程序的健康状态始终保持在"info“。这是一个问题,因为成功部署应用程序需要“确定”。

应用程序健康停留在“信息”而不是“确定”

我在网上也发现了类似的问题:

https://forums.aws.amazon.com/thread.jspa?threadID=301439&tstart=0 https://forums.aws.amazon.com/thread.jspa?messageID=425130񧲪

EN

回答 1

Server Fault用户

回答已采纳

发布于 2020-01-21 16:31:26

通常情况下,我们使用CI/CD (连续集成/连续交付)工具,如Jenkins、CircleCI或竹子来完成这些工作。他们可以从Bitbucket获得一个web钩子,这会触发任何类型的任务,比如调用PHP脚本、运行bash脚本、运行raketask等等。

票数 0
EN
页面原文内容由Server Fault提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://serverfault.com/questions/965761

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档