ansible file模块删除功能容易忽略的点

今天上线时,测试环境部署了三四遍,发现代码依然是旧的,部署采用是Jenkins+ansible,后来手动把旧jar文件删除掉,测试环境才部署成功。据此推测,playbook的脚本可能存在问题。

脚本截图如下:

删除文件时用了file模块,state=absent,循环用的是with_fileglob,查资料发现with_fileglob后的路径一般为全路径,那就是绝对路径了,所以这里的写法存在问题。

下边是Jenkins输出日志:

删除文件时没有任何输出,所以推测问题应该出在这里,为此查了下ansible官网,以下是官网关于file模块absent参数的说明:

Note that absent will not cause file to fail if the path does not exist as the state did not change.

大意是:如果路劲不存在并不会导致删除失败,状态不会显示为改变。

这也就解释了为什么Jenkins的日志中删除部分为空。

猜你喜欢

转载自blog.csdn.net/chuixue24/article/details/86546498