我的 git 存储库中有一个配置文件 config.py。它具有特定于开发人员的配置设置。
我也有与 salt 中的托管文件相同的文件,它具有特定于生产的配置。
该文件的配置指令如下所示:
python_config:
file.managed:
- name: /opt/github/python_config/config.py
- source: salt://configs/config.py
- makedirs: True
因为/opt/github
是一个 git 存储库,所以每当我尝试更新该目录时,都会出现错误:“您对 python_config/config.py 的本地更改将被合并覆盖。”
这是我对该 github 存储库的 salt 指令的样子:
code:
git.latest:
- name: {{ pillar['git_repo'] }}
- rev: {{ pillar['git_rev'] }}
- target: {{ pillar['source_path'] }}
- force: True
- require:
- pkg: app-pkgs
- file: deploykey
- file: publickey
- file: ssh_config
这个错误是有道理的——我已经检查了存储库,进行了更改(通过我的托管文件),因此对特定于开发人员的配置文件的新更改会导致问题。
如何强制 salt 按特定顺序执行任务?git checkout config.py
(例如,在继续之前发出git pull
?)
或者,是否有更好/不同的方式我应该在 salt 中管理这个 prod-vs-dev 配置?