Как запустить команду обновления композитора после развертывания кода на aws

Я настроил службу развертывания кода на aws, и она отлично работает, но я хочу запустить команду composer update после развертывания.

Я определил команду composer update в ловушке AfterInstall, но, похоже, она не работает.

Вот мой apppec.yml

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

и вот код файла after-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

все остальные команды работают, кроме обновления композитора, любая помощь приветствуется.

спасибо


person Rohit Khatri    schedule 09.09.2016    source источник
comment
Я знаю, что это не отвечает на ваш первоначальный вопрос, но вам не следует запускать composer update, вместо этого связывайте файл composer.lock с вашим проектом и запускайте composer install. Таким образом, вы всегда будете получать одни и те же зависимости в своих средах.   -  person Karl Laurentius Roos    schedule 09.09.2016
comment
@KarlLaurentiusRoos Я тоже пытался запустить composer install, но это тоже не сработало.   -  person Rohit Khatri    schedule 09.09.2016


Ответы (1)


Вы должны указать абсолютный путь к каталогу, в котором находится ваш проект (где у вас есть файл composer.json для зависимостей).

Замените composer update на composer update -d /var/www/laravel

и это будет работать как шарм.

person Daisy Saxena    schedule 14.09.2016