Saltstack分组命令

Mar*_*oni 6 python salt-stack

如果我必须执行以下3个命令,我该如何对它们进行分组,所以我只需要调用一个命令?

salt '*' git.fetch cwd=/var/git/myproject opts='--all' user=git
salt '*' git.pull cwd=/var/git/myproject opts='origin master'
salt '*' nginx.signal reload
Run Code Online (Sandbox Code Playgroud)

我可以使用面料把它们放在一个函数中说deploy可能接受一个minion名称然后通过master运行,但是我想知道saltstack是否有内置的东西?

Uta*_*ave 6

这是自定义模块的理想选择.

您可以在此处阅读有关创建自定义模块的信息:http://docs.saltstack.com/ref/modules/index.html.将自定义模块放在/ srv/salt/_modules(默认位置)中,然后运行

salt \* saltutil.sync_modules
Run Code Online (Sandbox Code Playgroud)

然后,您的模块将可用于您的小兵.

如果您的模块名为"deploy"且函数为"mysite",那么您的自定义命令将如下所示:

salt \* deploy.mysite
Run Code Online (Sandbox Code Playgroud)

如果你想针对一个特定的小兵,那么它将如下所示:

salt 'minion_name' deploy.mysite
Run Code Online (Sandbox Code Playgroud)