如何在开发过程中检查 SaltStack 的 SLS 文件的语法正确性
How to check SaltStack's SLS files for syntactic correctness during development
SaltStack 在部署自动化方面非常出色,但我每次都必须 运行 进行全面的集成测试,以检查我的 sls 文件在语法上是否正确。例如。如果有重复的 ID 或错误的缩进。有没有一种方法可以在几秒钟内测试我的 sls 文件,而无需复杂的环境设置?
我正在为 sls 文件搜索某种 linter。
至少有两种可能:
salt-call --local state.highstate test=True
如果您的状态(和其他配置文件)正确,包括引用的模块,将在几秒钟内给您反馈。
更轻的测试只是渲染 SLS:
salt-call --local state.show_highstate
--local
参数可以让你在不联系master的情况下调用salt。命令行上的其他参数允许您将调用指向包含要测试的文件的特定目录。您可以调用特定状态 test/render 而不是调用 highstate
,仅此状态如状态模块中所述。
更多信息:
http://docs.saltstack.com/en/latest/ref/states/testing.html
http://docs.saltstack.com/en/latest/ref/modules/all/salt.modules.state.html
http://docs.saltstack.com/en/latest/ref/cli/salt-call.html
有关正在进行的讨论,请参阅 https://github.com/saltstack/salt/issues/802。
SaltStack 在部署自动化方面非常出色,但我每次都必须 运行 进行全面的集成测试,以检查我的 sls 文件在语法上是否正确。例如。如果有重复的 ID 或错误的缩进。有没有一种方法可以在几秒钟内测试我的 sls 文件,而无需复杂的环境设置? 我正在为 sls 文件搜索某种 linter。
至少有两种可能:
salt-call --local state.highstate test=True
如果您的状态(和其他配置文件)正确,包括引用的模块,将在几秒钟内给您反馈。
更轻的测试只是渲染 SLS:
salt-call --local state.show_highstate
--local
参数可以让你在不联系master的情况下调用salt。命令行上的其他参数允许您将调用指向包含要测试的文件的特定目录。您可以调用特定状态 test/render 而不是调用 highstate
,仅此状态如状态模块中所述。
更多信息:
http://docs.saltstack.com/en/latest/ref/states/testing.html
http://docs.saltstack.com/en/latest/ref/modules/all/salt.modules.state.html
http://docs.saltstack.com/en/latest/ref/cli/salt-call.html
有关正在进行的讨论,请参阅 https://github.com/saltstack/salt/issues/802。