Конфигурация заданий Azkaban для каждой среды

Я планирую использовать Azkaban https://azkaban.github.io/ для запуска пакетных заданий. Согласно идеям CI, у нас есть несколько сред, таких как dev, test, stage, production и, конечно, работа должна иметь различную конфигурацию для каждой среды.

Согласно документации Azkaban, http://azkaban.github.io/azkaban/docs/latest/ Azkaban позволяет заменять параметры всякий раз, когда обнаруживается ${параметр}. И решение выглядит так:

system.properties
myFlow/
  dev.properties
  ....
  prod.properties
  foo.job

#system.properties
env=dev

#dev.properties
dev.database=localhost:2181

#prod.properties
prod.database=aws:port

#foo.job
some command --db ${${env}.database}

И позже в каждой среде мы можем переопределить переменную env. С моей точки зрения это решение выглядит странно. Могу ли я просто сказать Азкабану, какой файл свойств следует использовать в среде?

Каков наилучший подход к этому?

1 ответ

Другой подход можно найти здесь https://github.com/azkaban/azkaban/issues/1545

Другие вопросы по тегам