我设法设置了一个最小的Ansible playbook来在我的机器上执行一些脚本:
- name: Execute CLI on remote servers
hosts: webserver
tasks:
- name: Get metrics
shell: /home/user1/bin/cli.sh --file=script.cli
唯一的问题是,这依赖于文件系统来存储脚本。我想将我的脚本存储在一个存储库(例如git)中,并将它作为参数传递给它。如下所示:
shell: /home/user1/bin/cli.sh --file=ssh://git@github.com/mylogin/script.cli
任何建议都非常感谢!
答案 0 :(得分:2)
不是一个非常优雅的解决方案,但您可以使用Ansible git模块(http://docs.ansible.com/ansible/git_module.html)首先克隆包含目标计算机上的脚本的存储库(webserver
)然后引用来自shell
模块的那些文件。