Я пытаюсь использовать конвейеры кода bitbucket для развертывания на эластичном 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
Также выдает ОШИБКА: OSError ::
Похоже, мне не хватало git
как зависимости. Сообщение об ошибке было хорошо скрыто в - подробном
выводе команды развертывания.
Следующие действия -
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