Я настроил свой экземпляр 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