使用来自 git 的参数文件执行 shell

Execute shell using arguments file from git

我已经成功地设置了一个最小的 Ansible 剧本来在我的机器上执行一些脚本:

- 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://git@github.com/mylogin/script.cli

非常感谢任何建议!

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