python-saltstack可以执行类似于Fabric的操作吗?
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了python-saltstack可以执行类似于Fabric的操作吗?,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1577字,纯文字阅读大概需要3分钟。
内容图文
![python-saltstack可以执行类似于Fabric的操作吗?](/upload/InfoBanner/zyjiaocheng/664/1bbf20db4405430cbaa0e9d526f7aef4.jpg)
我是Saltstack的新手.我已经安装了saltstack.我可以成功运行“ sudo salt’*’test.ping”.
我正在尝试用盐代替面料.我在Fabric中有一些功能/过程,我希望盐也能做到这一点.
def commit():
message = raw_input("Enter a git commit message: ")
local("git add . && git commit -am '{}'".format(message))
def push():
local("git push origin master")
def prepare():
commit()
push()
>可以用盐代替织物吗?
>我应该如何开始?我应该修改或创建哪个文件以定义这些执行?
>该定义文件放在哪里?
>如何让小仆执行定义的功能,例如“承诺”?
谢谢你的帮助!
解决方法:
您可以将Salt用于配置管理和临时编排任务.您正在寻找的是execution modules.这些都是简单的Python文件,您可以将它们放在主文件的< file_root> / _ modules目录中(通常是/ srv / salt / _modules之类的文件).他们将被主人自动拾取,并按需分配给各小兵.然后,您可以在小仆上调用它们(或者在主服务器上使用salt’< minion-id>‘,或者在小仆上使用salt-call).
您可以在自己的modules目录中创建一个文件deploy.py,其内容如下:
#!/usr/bin/python
def commit(message, cwd):
__salt__['cmd.run']("git add . && git commit -am '{}'".format(message),
cwd=cwd)
def push(cwd):
__salt__['cmd.run']("git push origin master",
cwd=cwd)
def prepare(message, cwd):
commit(message=message, cwd=cwd)
push(cwd=cwd)
我在示例中使用的__salt__['cmd.run']函数是Salt提供的许多内置的执行模块之一.
执行模块需要放置在主模块上,但将在奴才上运行.除了使用cmd.run之类的现有执行模块之外,您还可以在其中释放全部Python功能.
然后,您可以从Salt主数据库中调用此脚本:
$salt 'minion-id' deploy.prepare message='Some commit message' cwd=/path/to/git
另外,您也可以直接在奴才上调用它:
$salt-call deploy.prepare message='Some commit message' cwd=/path/to/git
内容总结
以上是互联网集市为您收集整理的python-saltstack可以执行类似于Fabric的操作吗?全部内容,希望文章能够帮你解决python-saltstack可以执行类似于Fabric的操作吗?所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。