6

如果我必须执行以下 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

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

4

1 回答 1

6

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

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

salt \* saltutil.sync_modules

然后,您的模块将可用于在您的 minions 上运行。

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

salt \* deploy.mysite

如果您想针对特定的仆从,那么它将如下所示:

salt 'minion_name' deploy.mysite
于 2013-03-09T06:39:02.343 回答