运行composer.phar install的CodeDeploy after_install脚本错误

问题描述

我可以在实例上手动运行/opt/plesk/PHP/7.2/bin/PHP /usr/lib/plesk-9.0/composer.phar install,并且执行良好。

我获得了成功的部署(Bitbucket管道> Codedeploy> Ec2),但是,在 / opt / codedeploy-agent / deployment-root /(deployment-group-id)/(deployment-id)logs / scripts.log

2020-10-15 14:47:04 [stderr]  The HOME or COMPOSER_HOME environment variable must be set for composer to run correctly

after_install.sh

#!/bin/bash

# copy source files to DEVELOPMENT environment
if [ "$DEPLOYMENT_GROUP_NAME" == "staging-deployment-group" ]; then
chown -R user:psacln /var/www/vhosts/example.com/code-deploy-temp
find /var/www/vhosts/example.com/code-deploy-temp -type f -not -name ".pl" -not -name ".cgi" -not -name "*.sh" -print0 | xargs -0 chmod 0644
find /var/www/vhosts/example.com/code-deploy-temp -type d -print0 | xargs -0 chmod 0755
shopt -s dotglob
rsync -avz /var/www/vhosts/example.com/code-deploy-temp/* /var/www/vhosts/example.com/staging.example.com/
rm -rf /var/www/vhosts/example.com/code-deploy-temp/*
cd /var/www/vhosts/example.com/staging.example.com/
/opt/plesk/PHP/7.2/bin/PHP /usr/lib/plesk-9.0/composer.phar install
fi

appspec.yml

version: 0.0
os: linux 
files:
  - source: /
    destination: /var/www/vhosts/example.com/code-deploy-temp
hooks:
  AfterInstall:
    - location: scripts/after_install.sh
      timeout: 300

有人经历过吗?感谢任何输入。

解决方法

通过添加以下内容解决了此问题:

export COMPOSER_HOME =“ $ HOME / .config / composer”;

在此行之前/opt/plesk/php/7.2/bin/php /usr/lib/plesk-9.0/composer.phar安装