Возникли проблемы при развертывании приложения node.js на AWS EB из конвейеров gitlab - PullRequest
1 голос
/ 15 мая 2019

У меня есть существующее приложение node.js, размещенное на gitlab.Я пытаюсь использовать gitlab's ci / cd и создаю gitlab-ci.yml.Имея 3 этапа, а именно build, test, deploy, первые два на самом деле работают, но развертывание его на awsastic beanstalk имитирует ошибку в конвейерах, говоря ...

ERROR: This directory has not been set up with the EB CLI
You must first run "eb init".
ERROR: Job failed: exit code 1

НадеждаВы можете помочь мне с моей проблемой: (* ​​1008 *

это мой пример конфигурации для моей deploy стадии:

  deploy_aws:
  stage: deploy
  image: coxauto/aws-ebcli
  script:
    - mkdir ~/.aws
    - touch ~/.aws/config
    - chmod 600 ~/.aws/config
    - echo "[profile eb-cli]" >> ~/.aws/config
    - echo "aws_access_key_id=${AWS_ACCESS_KEY_ID}" >> ~/.aws/config
    - echo "aws_secret_access_key=${AWS_SECRET_ACCESS_KEY}" >> ~/.aws/config
    - git checkout master
    - eb deploy sample-sails-app-dev

AWS_ACCESS_KEY_ID и AWS_SECRET_ACCESS_KEY объявлены в ci моего gitlab/ CD переменные.

Ответы [ 2 ]

0 голосов
/ 16 мая 2019
Для команд

eb требуется, чтобы PWD был eb init -ed, точно так же, как для команд git требуется, чтобы PWD был git init -ed.

Перед eb deploy sample-sails-app-dev добавить eb init <APP NAME> --platform <PLATFORM NAME>. Это решит вашу проблему.

0 голосов
/ 15 мая 2019

Ключи доступа AWS и секретные ключи хранятся в файле с именем Credentials. (~ / .Aws / полномочия).

* Конфигурационный файл

имеет значения по умолчанию, такие как формат AWS региона и выходной формат cli (json)

[default]
region = us-east-1
output = json

файл учетных данных имеет доступ и секретные идентификаторы

[default]
aws_access_key_id = xx
aws_secret_access_key = xxx

Таким образом, в вашем сценарии развертывания измените каталог конфигурации на учетные данные

- echo "aws_access_key_id=${AWS_ACCESS_KEY_ID}" >> ~/.aws/credentials
...