【问题标题】:Execute local script on remote without copying it across in Ansible在远程执行本地脚本而不在 Ansible 中复制它
【发布时间】:2017-02-19 21:00:00
【问题描述】:

是否可以在 Ansible 中的远程主机上执行本地脚本,而无需复制并执行它?

脚本、shell 和命令模块似乎都是答案,但我不确定哪个是最好的。

脚本模块将自己描述为“在传输后在远程节点上运行本地脚本”,但给出的示例不建议进行复制操作 - 例如没有 src,dest - 所以也许这就是答案?

【问题讨论】:

  • downvoters 请留下反馈 thx
  • 可能是 txtspk 鼓励投反对票,因为它为志愿编辑创造了工作。请尝试在这里使用真实的文字 - 这不是 Facebook。

标签: ansible


【解决方案1】:

脚本模块 FTW

任务:

- name: Ensure docker repo is added
  script: "{{ role_path }}/files/add-docker-repo.sh"
  register: dockeraddrepo
  notify: Done dockeraddrepo
  when: ansible_local.dockeraddrepo | d(0) == 0

处理程序:

- name: Done dockeraddrepo
  copy:
    content: '{{ dockeraddrepo }}'
    dest: /etc/ansible/facts.d/dockeraddrepo.fact

【讨论】:

  • 对所提供代码的解释对其他人非常有帮助。
  • 有没有办法在远程节点上运行本地脚本作为临时命令?
  • 我猜你的意思是,你可以在远程机器上运行命令而不是本地脚本......我确定有一个模块......也许是命令模块?自从我使用 ansible 以来已经有一段时间了
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2021-02-08
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-02-24
相关资源
最近更新 更多