2016-08-02 50 views
0

文件我已经成功地建立了一个最小的Ansible剧本在我的机器上执行一些脚本执行shell:使用参数从混帐

- name: Execute CLI on remote servers 
    hosts: webserver 
    tasks: 
    - name: Get metrics 
     shell: /home/user1/bin/cli.sh --file=script.cli 

唯一的问题是,这依赖于文件系统来存储脚本。我想保存我的脚本在存储库(如GIT)和作为参数传递的引用来的shell.Something,如:

shell: /home/user1/bin/cli.sh --file=ssh://[email protected]/mylogin/script.cli 

任何建议高度赞赏!

+0

这是一个真正的问题吗?或者你应该教'cli.sh'来接受git-uri作为参数,或者在调用'cli.sh'之前将'script.cli'(例如'git'模块)传递给主机。 –

回答

2

不是一个非常优雅的解决方案,但你可以使用Ansible git的模块(http://docs.ansible.com/ansible/git_module.html)首先克隆包含您的目标机器(S)(webserver)在你的脚本库,然后从shell模块中引用这些文件。

+0

谢谢,事实上,我正在看Ansible git模块,看看一些例子 – Carla

+0

不知道为什么你认为这不是很优雅。我认为使用git模块是拉动回购的最可行方式。 +1 – jscott