Назад | Перейти на главную страницу

Использование интерфейса командной строки эластичного beanstalk (eb cli) через конвейеры битбакетов

Я пытаюсь использовать конвейеры кода битбакета для развертывания на эластичном beanstalk, используя команду eb cli.

Вот мой bitbucket-pipelines.yml файл, я основал его на образе amazonlinux, так как он работает на виртуальной машине в производстве.

image: amazonlinux

pipelines:
  branches:
    testing:
      - step:
          name: Build & Deploy
          script:
          - curl --silent --location https://rpm.nodesource.com/setup_8.x | bash -
          - yum -y install nodejs zip gcc-c++ make
          - curl -O https://bootstrap.pypa.io/get-pip.py
          - python get-pip.py
          - pip install awsebcli
          - npm install
          - export AWS_ACCESS_KEY_ID="$TEST_AWS_ACCESS_KEY_ID"
          - export AWS_DEFAULT_REGION="$TEST_AWS_DEFAULT_REGION"
          - export AWS_SECRET_ACCESS_KEY="$TEST_AWS_SECRET_ACCESS_KEY"
          - echo "deploying to $TEST_BEANSTALK_ENVIRONMENT_NAME"
          - eb --version
          - eb deploy $TEST_BEANSTALK_ENVIRONMENT_NAME

Кажется, установка прошла нормально, вплоть до eb --version линия. Однако eb deploy ... команда возвращает невероятно полезную ошибку

ERROR: OSError ::

Есть ли у кого-нибудь предложения относительно того, что я могу сделать по-другому, чтобы решить эту проблему?

Изменить - я получаю тот же результат, запустив это и из образа ubuntu -

image: ubuntu:16.04

pipelines:
  branches:
    testing:
      - step:
          name: Build & Deploy
          script:
          - apt-get update && apt-get install -y software-properties-common
          - add-apt-repository universe
          - apt-get update && apt-get -y upgrade && apt-get install -y python-pip curl build-essential libssl-dev
          - curl -sL https://deb.nodesource.com/setup_8.x | bash
          - apt-get install nodejs
          - pip install awsebcli
          - node -v
          - npm -v
          - npm install
          - export AWS_ACCESS_KEY_ID="$TEST_AWS_ACCESS_KEY_ID"
          - export AWS_DEFAULT_REGION="$TEST_AWS_DEFAULT_REGION"
          - export AWS_SECRET_ACCESS_KEY="$TEST_AWS_SECRET_ACCESS_KEY"
          - echo "deploying to $TEST_BEANSTALK_ENVIRONMENT_NAME"
          - eb --version
          - eb deploy $TEST_BEANSTALK_ENVIRONMENT_NAME

Также дает мне ERROR: OSError ::

Похоже, я пропал git как зависимость. Сообщение об ошибке было хорошо спрятано в --verbose вывод команды развертывания.

Следующие работы -

image: ubuntu:16.04

pipelines:
  branches:
    testing:
      - step:
          name: Build & Deploy
          script:
          - apt-get update && apt-get -y upgrade && apt-get install -y python-dev python-pip curl build-essential git-all
          - curl -sL https://deb.nodesource.com/setup_8.x | bash
          - apt-get install nodejs
          - pip install awsebcli --ignore-installed setuptools --upgrade
          - node -v
          - npm -v
          - eb --version
          - npm install
          - export AWS_ACCESS_KEY_ID="$TEST_AWS_ACCESS_KEY_ID"
          - export AWS_DEFAULT_REGION="$TEST_AWS_DEFAULT_REGION"
          - export AWS_SECRET_ACCESS_KEY="$TEST_AWS_SECRET_ACCESS_KEY"
          - echo "deploying to $TEST_BEANSTALK_ENVIRONMENT_NAME"
          - eb deploy $TEST_BEANSTALK_ENVIRONMENT_NAME --verbose