如果我必须执行以下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是否有内置的东西?
答案 0 :(得分:6)
这是自定义模块的理想选择。
您可以在此处阅读有关创建自定义模块的信息:http://docs.saltstack.com/ref/modules/index.html。 将自定义模块放在/ srv / salt / _modules(默认位置)中,然后运行
salt \* saltutil.sync_modules
然后你的模块可以在你的小兵身上运行。
如果您的模块名为'deploy'且函数为'mysite',那么您的自定义命令将如下所示:
salt \* deploy.mysite
如果你想定位一个特定的小兵,那么它将如下所示:
salt 'minion_name' deploy.mysite