AWS Elasticbeanstalk Single Docker Контейнер ENV не работает Create React APP Build - PullRequest
0 голосов
/ 31 января 2020

Я настроил свой экземпляр AWS Elasticbeanstalk Single Container через файл Dockerrun. aws. json, и он работает отлично. Но у меня проблема с переменными ENV, как в приложении ReactJS. Я предоставляю URL для API, например, REACT_APP_BASE_URL = "http://xxx.example.com". В моем локальном хосте он работает нормально через файл .env, но когда я генерирую сборку через Travis CI, он тоже работает, но когда я изменил код и после повторного развертывания кода из Travis в AWS EBS, он разрушает мой ENV, а также не выбирает от AWS Настройки EBS Software.

Примечание: эта штука уже съела мою неделю. Я устал от этого и не знаю, как это исправить, или я здесь что-то не так делаю, я уверен.

Спасибо.

Ниже мой Конфиг Трэвиса:

os: linux

language: generic

services:
  - docker

env:
  global:
    - REACT_APP_BASE_URL=$REACT_APP_BASE_URL
    - REACT_APP_GOOGLE_PLACES=$REACT_APP_GOOGLE_PLACES
    - REACT_APP_API_VERSION=$API_VERSION

before_install:
  - docker build -t XXXX/react-app
    --build-arg API_URL=$REACT_APP_BASE_URL
    --build-arg API_VER=$API_VERSION
    --build-arg GOOGLE_KEY=$REACT_APP_GOOGLE_PLACES .

script:
  - echo "skipping tests ..."

after_success:
  - echo "$DOCKER_PASSWORD" | docker login -u "$DOCKER_ID" --password-stdin
  - docker push XXXX/react-app

deploy:
  provider: elasticbeanstalk
  access_key_id:
    secure: '$AWS_ACCESS_KEY'
  secret_access_key:
    secure: '$AWS_SECRET_KEY'
  region: 'us-east-1'
  app: 'XXXXX'
  env: 'prod'
  bucket: 'XXXXXXX'
  on:
    branch: master
...