使用git中的参数文件执行shell

时间:2016-08-02 11:48:28

标签: ansible ansible-playbook

我设法设置了一个最小的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

任何建议都非常感谢!

1 个答案:

答案 0 :(得分:2)

不是一个非常优雅的解决方案,但您可以使用Ansible git模块(http://docs.ansible.com/ansible/git_module.html)首先克隆包含目标计算机上的脚本的存储库(webserver)然后引用来自shell模块的那些文件。