0

有用于部署许多主机的剧本。

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

我怎样才能做到这一点?

4

2 回答 2

0

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

  • 检查一个文件,比如说 /var/lock/foobar,是否存在
  • 如果文件不存在,则在您的 WebService 上执行调用
  • 写 /var/lock/foobar

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

于 2014-01-01T17:57:28.623 回答
0

为什么不在部署剧本的末尾添加一个任务?

-  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

于 2014-01-07T22:58:36.600 回答