Это часть моего сценария развертывания, который, к сожалению, не работает:
image: php:7-fpm
pipelines:
branches: # Pipelines that run automatically on a commit to a branch
staging:
- step:
script:
- apt-get update && apt-get install -y unzip python-dev git
- apt-get install -qy git curl libmcrypt-dev mysql-client
- docker-php-ext-install mcrypt && docker-php-ext-install pdo_mysql
- ./install-composer.sh
- composer install
- export APP_ENV=QA
- export S3_ACCESS_KEY_ID=AAAAA
- export S3_BUCKET_ASSETS=AAAAA
- export S3_DEFAULT_CDN_BASE=AAAAA
- export S3_REGION=eu-west-1
- export S3_SECRET_ACCESS_KEY=AAAAA
- curl -O https://bootstrap.pypa.io/get-pip.py
- python get-pip.py
- pip install awsebcli --upgrade
- eb init this-data -r eu-central-1 -p PHP
- eb setenv APP_ENV=QA JS_PATH=AAAA IMAGES_PATH=AAAAA FONTS_PATH=AAAA - eb setenv SES_KEY=AAAAA
- eb printenv
- export CACHE_DRIVER=redis
- export SESSION_DRIVER=redis
- export DB_CONNECTION=mysql
- php artisan migrate
- php artisan serve
- eb deploy this-staging-env
services:
- mysql
definitions:
services:
mysql:
image: mysql
environment:
MYSQL_DATABASE: 'thisdb'
MYSQL_RANDOM_ROOT_PASSWORD: 'yes'
MYSQL_USER: 'thisuser'
MYSQL_PASSWORD: 'thispass'
MYSQL_HOST: 'rdsInstance'
Сообщение, которое появляется:
php artisan migrate
Осветить \ Database \ QueryException: не удалось найти драйвер (SQL: выберите * из information_schema.tables, где table_schema = forge и table_name = migrations)
в / opt / atlassian / трубопроводы / агент / сборка / поставщик / laravel / framework / src / Illuminate /
Мое решение было добавить это в .ebextensions / init.config:
container_commands:
01initdb:
command: "php artisan migrate"
Это означает, что команда migrate выполняется после развертывания.
Других решений пока нет …