我将 AWS Auto Scaling Group 与代码部署集成。
我为AfterInstall挂钩写了一个bash脚本。
该脚本执行 composer update , composer dump-autoload ,因为我的代码使用的是PHP。
这就是问题所在。 部署时,部署失败并显示此日志。
[RuntimeException]
必须为作曲家设置HOME或COMPOSER_HOME环境变量才能正确运行
但是当我通过SSH访问实例并运行composer时,它运行正常。
如何解决此问题?有人解决了这个问题吗?
任何答案都将不胜感激。谢谢你的时间。
答案 0 :(得分:1)
我在使用Elastic Beanstalk时遇到了类似的问题,我确实添加了Environment variable
您应该能够在CodeDeploy中实现此目的,例如创建应用程序。
答案 1 :(得分:1)
您是否可以确保在您运行钩子脚本的appspec文件中指定的用户也可以访问env变量?如果您在实例上运行多个用户,则每个用户可能无法访问env变量,具体取决于您的设置方式。
答案 2 :(得分:0)
对于使用CodeDeploy安装作曲家,我也有同样的担忧。它在开发中运行良好,但是当我在生产中运行它时,我得到: [stderr] [RuntimeException] [stderr]必须设置HOME或COMPOSER_HOME环境变量,才能使composer正确运行 我通过SSH实例化并运行作曲家,然后得到:
user@server:~/httpdocs$ /opt/plesk/php/7.2/bin/php /usr/lib/plesk-9.0/composer.phar install
使用软件包信息加载composer存储库 从锁定文件安装依赖项(包括require-dev) 无需安装或更新 生成优化的自动加载文件 user @ server:〜/ httpdocs $
我有一个ec2实例,并且在stg和prod的两个单独目录中进行部署。 codedeploy deployment error