Я пытаюсь использовать конвейеры bitbucket с Elasticbeanstalk для развертывания приложения laravel, конвейеры должны отвечать за building the app
и create & upload the zip file
, после этого Elasticbeanstalk будет применять несколько операторов (прочитайте его из .ebextensions \ init.config), в основном, init.config отвечает за управление базой данных. На шаге Deploy to AWS EBS
процесс не удался, он выдает странную ошибку (подписи не совпадают), я перепроверил repository variables
, все правильно.
Помощь очень ценится!
bitbucket-pipelines.yml
image: atlassian/default-image:2
pipelines:
branches:
master:
- step:
name: Build app
image: php:7.2
caches:
- composer
script: # The script below will build the application.
- php -v
- apt-get update
# Installing first the libraries necessary to configure and install gd
- apt-get update && apt-get install -y libfreetype6-dev libjpeg62-turbo-dev libpng-dev
# Now we can configure and install the extension
- docker-php-ext-configure gd --with-freetype-dir=/usr/include/ --with-jpeg-dir=/usr/include/
- docker-php-ext-install -j$(nproc) gd
- docker-php-ext-install pcntl
- docker-php-ext-install zip
- docker-php-ext-install pdo_mysql
- docker-php-ext-install exif
- docker-php-ext-install bcmath
- php -i | grep 'GD\|ImageMagick'
- php -i | grep 'pcntl'
- php -i | grep 'zip'
- php -i | grep 'pdo_mysql'
- curl -sS https://getcomposer.org/installer | php -- --install-dir=/usr/local/bin --filename=composer
- composer -V
- php -r "file_exists('.env') || copy('.env.example', '.env');"
- composer install
- composer dump-autoload
- php artisan key:generate
artifacts:
- .env
- vendor/**
- step:
name: Create zip file
image: atlassian/default-image:2
script: # zipping application and removing .env file
- zip -r application.zip . -x .env
artifacts:
- application.zip
- step:
name: Deploy to AWS EBS
caches:
- pip
script:
- pipe: atlassian/aws-elasticbeanstalk-deploy:0.5.4
variables:
AWS_ACCESS_KEY_ID: $AWS_ACCESS_KEY_ID
AWS_SECRET_ACCESS_KEY: $AWS_SECRET_ACCESS_KEY
AWS_DEFAULT_REGION: $AWS_DEFAULT_REGION
APPLICATION_NAME: $APPLICATION_NAME
ENVIRONMENT_NAME: $ENVIRONMENT_NAME
S3_BUCKET: $S3_BUCKET
ZIP_FILE: 'application.zip'
WAIT: 'true'
init.config
container_commands:
01_clear_config:
command: "php artisan config:clear"
02_build_db:
command: "php artisan migrate"
03_seed_db:
command: "php artisan db:seed"
04_install_passport:
command: "php artisan passport:install --force"