Как я могу установить переменную NODE_ENV для задачи ironworker (iron.io)?
Есть ли способ установить / настроить NODE_ENV для задачи железного человека? Это не установлено в process.env
выход. Из-за этого config
модуль нагрузки config/development.json
конфигурационный файл.
2 ответа
Решение
Есть несколько способов установить это значение. Сначала вы можете отправить параметры ENV с флагом -e, как указано здесь https://github.com/iron-io/dockerworker/tree/master/node
Iron фактически рекомендует указывать эту информацию как часть конфигурации и полезной нагрузки при создании задачи.
То, как Iron рекомендует делать это, немного раздражает ( http://dev.iron.io/worker/reference/configuration-variables/):
- Загрузите файл config.json/yml, указав --config-file при загрузке кода через железный клиент.
- Прочитайте путь к этому файлу конфигурации через переменную среды CONFIG_FILE внутри контейнера.
- Прочитайте содержимое этого файла и проанализируйте их как JSON
У меня есть другой способ, который проще: используя аргументы npm start
:
- В вашем коде Node прочитайте окружение через
env = process.argv[2] || process.env.NODE_ENV
- Проходить
npm start -- <env>
как команда запуска к железному кли