Развертывание веб-сервисов с различными переменными среды в веб-интерфейсе - PullRequest
0 голосов
/ 24 июня 2018

У меня есть веб-сервис, который состоит из бэкэнда и forntend, а во внешнем интерфейсе я использую API-интерфейс URI, который может меняться в зависимости от среды, в которой развернут сервис.

Используя EnvironmentPlugin * веб-пакета Я могу создать исходный код просто с помощью других переменных среды.Плагин позволяет мне использовать process.env в javascript, что удобно на этапе разработки, но после связывания кода внешнего интерфейса process.env останется таким же с заданными переменными среды при связывании.

Проблема в том, что на конвейерах CI я создаю образ докера для веб-службы, но я не знаю URI API, пока не разверну его позже.

Как эффективно изменить API-интерфейс API на основе переменных среды?

1 Ответ

0 голосов
/ 24 июня 2018

У вас есть две опции для передачи переменных среды: одна через файл

docker run --env-file ./env.list ubuntu bash

Другая через командную строку с параметром -e для команды запуска docker.вы можете сложить опцию -e для передачи более одной переменной окружения.

одна из вещей, которые у вас есть в вашем докер-файле, это возможность объявить элемент ввода.с этим вы можете сделать что-то вроде:

  1. установить данные среды через команду запуска Docker (с помощью приведенной выше информации)
  2. в скрипте получить информацию о среде
  3. наконец, используйте его в скрипте, чтобы изменить любой файл, содержащий данные URI, используя что-то вроде sed
...