Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/229.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/laravel/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php CodeDeploy在安装时或安装后卡住_Php_Laravel_Amazon Web Services_Aws Code Deploy - Fatal编程技术网

Php CodeDeploy在安装时或安装后卡住

Php CodeDeploy在安装时或安装后卡住,php,laravel,amazon-web-services,aws-code-deploy,Php,Laravel,Amazon Web Services,Aws Code Deploy,我使用相同的appspec文件为6种不同的部署设置了codedeploy。虽然codedeploy在某些部署中工作得很好,但在其他部署中却会卡住 问题是,它在随机环境中会被卡住,有时在安装阶段,有时在后安装阶段。它还卡在同一部署中的多个服务器之一上 appspec.yml version: 0.0 os: linux files: - source: / destination: /var/www/html/current permissions: - object: /v

我使用相同的appspec文件为6种不同的部署设置了codedeploy。虽然codedeploy在某些部署中工作得很好,但在其他部署中却会卡住

问题是,它在随机环境中会被卡住,有时在安装阶段,有时在后安装阶段。它还卡在同一部署中的多个服务器之一上

appspec.yml

version: 0.0
os: linux
files:
   - source: /
     destination: /var/www/html/current
permissions:
   - object: /var/www/html/current
     pattern: "**"
     owner: root
     group: www-data
     mode: 644
     type:
       - file
   - object: /var/www/html/current
     pattern: "**"
     owner: root
     group: www-data
     mode: 755
     type:
       - directory
hooks:
   BeforeInstall: 
    - location: scripts/beforeinstall.sh
      runas: root
   AfterInstall:
    - location: scripts/afterinstall.sh
      runas: root
安装前。sh

#!/bin/bash

php artisan cache:clear
hostname >> /tmp/bhostname.txt
crontab -r
if [ "$HOSTNAME" = horizon ] 
then
    hostname >> /tmp/ahostname.txt
    cd  /var/www/html/current/backend && sudo php artisan down
    sudo supervisorctl stop laravel-worker:*
    sleep 30
    sudo service supervisor stop
    
    sleep 30
    rm -rf /var/www/html/current/backend/bootstrap/*
    rm -rf /var/www/html/current/backend/storage/*
    rm -rf /var/www/html/current/backend/worker.log
else
    cd  /var/www/html/current/backend && sudo php artisan down
    rm -rf /var/www/html/current/backend/bootstrap/*
    rm -rf /var/www/html/current/backend/storage/*
fi

#!/bin/bash

chown -R www-data:www-data /var/www/html/current/backend/bootstrap
chown -R www-data:www-data /var/www/html/current/backend/storage
cd  /var/www/html/current/backend && sudo php artisan cache:clear
cd  /var/www/html/current/backend && sudo php artisan view:clear
cd  /var/www/html/current/backend && sudo php artisan config:cache

export GOOGLE_APPLICATION_CREDENTIALS=/var/www/html/current/backend/storage/gcp_translate.json

# (crontab -l 2>/dev/null; echo "*/2 * * * * cd /var/www/html/current/backend/ && php artisan schedule:run >> /dev/null 2>&1")| crontab -
echo  "*/2 * * * * cd /var/www/html/current/backend/ && php artisan schedule:run >> /dev/null 2>&1" > /var/spool/cron/crontabs/www-data
echo  "* * * * * /bin/chown -R www-data.www-data /var/www/html/current/backend/storage/logs" > /var/spool/cron/crontabs/root
echo  "0 0 * * *  rm -rf /opt/codedeploy-agent/deployment-root" > /var/spool/cron/crontabs/root
chmod 600 /var/spool/cron/crontabs/www-data
chmod 600 /var/spool/cron/crontabs/root
service cron restart

if [ "$HOSTNAME" = horizon ] 
then
    cd /var/www/html/current/backend && php artisan up
    cd /var/www/html/current/ && pwd && ls -altr && mv laravel-worker.conf  /etc/supervisor/conf.d
    sudo service supervisor restart
    sleep 30
    sudo supervisorctl restart laravel-worker:*
fi

service  php7.4-fpm  restart
service nginx restart 
afterinstall.sh

#!/bin/bash

php artisan cache:clear
hostname >> /tmp/bhostname.txt
crontab -r
if [ "$HOSTNAME" = horizon ] 
then
    hostname >> /tmp/ahostname.txt
    cd  /var/www/html/current/backend && sudo php artisan down
    sudo supervisorctl stop laravel-worker:*
    sleep 30
    sudo service supervisor stop
    
    sleep 30
    rm -rf /var/www/html/current/backend/bootstrap/*
    rm -rf /var/www/html/current/backend/storage/*
    rm -rf /var/www/html/current/backend/worker.log
else
    cd  /var/www/html/current/backend && sudo php artisan down
    rm -rf /var/www/html/current/backend/bootstrap/*
    rm -rf /var/www/html/current/backend/storage/*
fi

#!/bin/bash

chown -R www-data:www-data /var/www/html/current/backend/bootstrap
chown -R www-data:www-data /var/www/html/current/backend/storage
cd  /var/www/html/current/backend && sudo php artisan cache:clear
cd  /var/www/html/current/backend && sudo php artisan view:clear
cd  /var/www/html/current/backend && sudo php artisan config:cache

export GOOGLE_APPLICATION_CREDENTIALS=/var/www/html/current/backend/storage/gcp_translate.json

# (crontab -l 2>/dev/null; echo "*/2 * * * * cd /var/www/html/current/backend/ && php artisan schedule:run >> /dev/null 2>&1")| crontab -
echo  "*/2 * * * * cd /var/www/html/current/backend/ && php artisan schedule:run >> /dev/null 2>&1" > /var/spool/cron/crontabs/www-data
echo  "* * * * * /bin/chown -R www-data.www-data /var/www/html/current/backend/storage/logs" > /var/spool/cron/crontabs/root
echo  "0 0 * * *  rm -rf /opt/codedeploy-agent/deployment-root" > /var/spool/cron/crontabs/root
chmod 600 /var/spool/cron/crontabs/www-data
chmod 600 /var/spool/cron/crontabs/root
service cron restart

if [ "$HOSTNAME" = horizon ] 
then
    cd /var/www/html/current/backend && php artisan up
    cd /var/www/html/current/ && pwd && ls -altr && mv laravel-worker.conf  /etc/supervisor/conf.d
    sudo service supervisor restart
    sleep 30
    sudo supervisorctl restart laravel-worker:*
fi

service  php7.4-fpm  restart
service nginx restart 

通过减小构建大小解决了该问题

在打包为.zip文件后,构建的容量通常在900 MB左右。在将其缩减到600 MB之后,AWS CodeDeploy不会被随机卡住

通过从前端删除节点_模块(1.7GB,无压缩)来修剪构建


因此,我的结论是,对于高度压缩的较大版本,服务器(t3.medium)的大小不足。

您是否尝试登录到实例并手动运行脚本?这可能会提供一些额外的信息失败的原因是什么?如果出现“卡住”的情况,您是否也可以提供错误消息?在一小时后停止2个卡住的部署并重新启动后传递。似乎是AWS方面的问题,但我只有基本的支持计划。您可以在控制台中检查AWS运行状况,看看是否有关于CD问题的通知?@Marcin,谢谢,这是一个很好的指针。不幸的是,我没有看到任何通知,但我确实找到了反馈窗口,并已将问题报告给AWS。