我有一个构建服务器,在每次提交到给定的playbook存储库后运行ansible playbook。主机数据来自动态库存。我现在遇到的问题是,当我推送多个提交时,构建服务器会一个接一个地运行同一主机的ansible-playbook,并且它会在主机服务器上创建一个竞争条件。当主机上正在运行的剧本正在运行时,如何让ansible等待正在运行的剧本结束,然后启动或干脆不运行?(我只希望在主机中运行ansible的一个实例。)
发布于 2017-07-28 04:01:59
您可以在启动playbook运行之前检查远程服务器的ansible pid。您使用的是什么操作系统/发行版?嗯..。根据您正在测试的内容,您可以启动一个容器(docker或lxd)来为每次提交测试您的环境。请考虑到,如果您创建/修改网络接口或创建设备文件,它将不能满足您的需求。我使用这种方法在一个服务器上测试我的剧本角色,每个角色参数都有几个单元测试。
https://stackoverflow.com/questions/45354448
复制相似问题