我正在一个需要通过合并请求审查盐州和支柱变化的环境中工作。
目前,当我们需要在提交之前testing我们的变化时,我们login了salt master,在更改了我们的同事并执行testing之后,检查了我们正在处理的分支。
这种方法的问题在于,只要需要执行testing,就需要单个用户基本上locking盐主。
因此我的问题是: 有没有一种方法可以为一个salt命令指定salt主configuration和/或state / pillar根目录?
如果你使用gitfs,所有分支都是盐环境。 所以你可以做类似的事情
salt-call state.highstate saltenv=testingBranch pillarenv=testingBranch test=True
你混合和匹配那些如果你只是testing支柱变化,你可以离开saltenv。
有一个选项允许为单个命令指定salt主configuration文件,但是此configuration文件的内容不能覆盖柱/状态根。
在做了一些研究之后:salt中有一个--config-dir选项,但是由于Salt的asynchronous架构(在这个Salt问题上讨论过),它不会覆盖支柱和状态根:
这将是有益的 – 但是,这是很难的,因为盐的架构。 基本上,盐碱火对司仪发出命令。 然后小人们运行这个命令,向主人索取他们需要的任何文件。 主服务器与运行CLI作业的服务器不匹配,因此无法以这种方式即时更改file_roots或类似服务。 它们必须在主运行时进行更改。
解决这个问题的正确方法是使用gitfs和Salt环境,正如Mike的回答中所解释的那样。