Трубопроводы Elasticbeanstalk и Bitbucket: загрузка zip-файла не удалась. Рассчитанная нами подпись запроса не соответствует предоставленной вами подписи. - PullRequest
0 голосов
/ 07 января 2020

Я пытаюсь использовать конвейеры 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"
...