我怎么能运行一次任务



有部署许多主机的剧本。

部署后,我需要将变量 ОNCE 的含义(运行一次local_action?!)发送到 REST 服务。

我怎样才能做到这一点?

由于剧本是幂等的,我想说最简单的方法是运行一个 bash 脚本:

  • 检查一个文件,比如说/var/lock/foobar 是否存在
  • 如果文件不存在,则在 Web 服务上执行调用
  • Write/var/lock/foobar

因此,您的脚本是幂等的,可以多次调用,但只调用一次。

为什么不直接在部署手册的末尾添加一个任务?

-  hosts: rest_service_target
   tasks: 
     - name: Post to REST 
       local_action: command curl {{ url_of_rest_service_target }} {{ curl_arguments }}

可以添加一些错误处理,以便仅在部署成功时执行此操作,在部署失败时发送电子邮件等 http://docs.ansible.com/playbooks_error_handling.html

最新更新