Конфигурация заданий 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