1

我计划使用 Azkaban https://azkaban.github.io/来运行批处理作业。根据 CI 的想法,我们几乎没有开发、测试、阶段、生产等环境,当然工作应该为每个环境有不同的配置。

根据 Azkaban 文档http://azkaban.github.io/azkaban/docs/latest/#job-configuration Azkaban 允许在找到 ${parameter} 时替换参数。解决方案如下:

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变量。从我的角度来看,这个解决方案看起来很奇怪。我可以告诉 Azkaban 在环境中应该使用哪个属性文件吗?

最好的方法是什么?

4

1 回答 1

0

另一种方法可以在这里找到https://github.com/azkaban/azkaban/issues/1545#issuecomment-339750417

于 2017-10-26T18:36:24.733 回答