Laravel на AWS ElasticBeanstalk: выполнение команды ручной миграции при развертывании с использованием .ebextensions в случае сбоя - PullRequest
0 голосов
/ 13 июля 2020

Я развертываю приложение Laravel на ElasticBeanstalk. Я запускаю команду миграции, используя конфигурацию .ebextensions при развертывании.

Я создал файл .extensions / 01-migration.config в папке проекта root со следующим содержимым.

container_commands:
  01_cd_html:
    command: "cd /var/www/html"
  02_php_artisan_migrate:
    command: "php artisan migrate --force"

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

eb deploy

Затем я получил следующую ошибку.

2020-07-13 11:51:59    INFO    Environment update is starting.      
2020-07-13 11:52:39    INFO    Deploying new version to instance(s).
2020-07-13 11:52:49    ERROR   [Instance: i-0a461ffb24bc26f52] Command failed on instance. An unexpected error has occurred [ErrorCode: 0000000001].
2020-07-13 11:52:49    INFO    Command execution completed on all instances. Summary: [Successful: 0, Failed: 1].
2020-07-13 11:52:49    ERROR   Unsuccessful command execution on instance id(s) 'i-0a461ffb24bc26f52'. Aborting the operation.
2020-07-13 11:52:50    ERROR   Failed to deploy application.  

Я мог S SH на сервере и запустить команду успешно. Но он просто не работает над развертыванием. Что не так с моей конфигурацией и как я могу это исправить?

1 Ответ

0 голосов
/ 14 июля 2020

Я решил проблему. Мне нужно установить переменные среды, необходимые для команд в option_settings. Команда, которую я пытаюсь запустить, - это команда миграции, которая использует учетные данные базы данных. Поэтому я указал переменные env для базы данных. Это странно, он должен работать только с теми, которые указаны в консоли ElasticBeanstalk.

...