如何在 aws 上部署代码后 运行 composer update 命令

How to run composer update command after code deploy on aws

我在 aws 上设置了 Code Deploy 服务,它运行良好,但我想要的是在部署后 运行 composer update 命令。

我在 AfterInstall 挂钩中定义了 composer update 命令,但它似乎不起作用。

这是我的 appspec.yml

version: 0.0
os: linux
files:
  - source: /
    destination: /var/www/laravel/
hooks:
  AfterInstall:
    - location: hooks/after-install.sh
      runas: root

这里是 install.sh 后的文件代码:

#!/bin/bash

php /var/www/laravel/artisan clear-compiled
php /var/www/laravel/artisan optimize
php /var/www/laravel/artisan view:clear
php /var/www/laravel/artisan cache:clear

chown -R ubuntu:www-data /var/www/laravel
sudo find /var/www/laravel -type d -exec chmod 755 {} +
sudo find /var/www/laravel -type f -exec chmod 644 {} +
chmod -R 777 /var/www/laravel/storage

composer update

除了 composer update 之外的所有其他命令都有效,我们将不胜感激。

他康

您必须包含项目所在目录的绝对路径(您有 composer.json 文件的依赖项)。

composer update替换为composer update -d /var/www/laravel

它会很有魅力。