Ansible:如何在单个任务中删除目录中的文件夹和文件?

Ansible:如何在单个任务中删除目录中的文件夹和文件?,ansible,Ansible,我正在使用Ansible 2.3.2.0,试图在一个任务中删除目录中的文件和文件夹 现在我有这个 tasks: - name: Removing existing war file: path: /usr/share/tomcat/webapps/app.war state: absent - name: Removing existing folder file: path: /usr/share/tomcat/webapps/a

我正在使用Ansible 2.3.2.0,试图在一个任务中删除目录中的文件和文件夹

现在我有这个

tasks:

  - name: Removing existing war
    file:
      path: /usr/share/tomcat/webapps/app.war
      state: absent

  - name: Removing existing folder
    file:
      path: /usr/share/tomcat/webapps/app
      state: absent
我不能简单地删除webapps文件夹,因为我不想删除其中的其他文件和文件夹。我想减少任务数量,因为我使用Duo push auth,这会增加部署时间。我尝试过在文件和文件全局上循环,但由于某些原因,它从来都不起作用


只需迭代两个值:

tasks:
  - name: Removing
    file:
      path: "{{ item }}"
      state: absent
    with_items:
      - /usr/share/tomcat/webapps/app.war
      - /usr/share/tomcat/webapps/app

但它仍将创建两个任务执行:每个项目一个。

如果您只想删除目录及其内容,只需使用文件模块并仅传递目录路径:

tasks:
 - name: Removing
   file:
     path: /usr/share/tomcat/webapps/app
     state: absent
见此帖:

从ansible文档中:

如果不存在,目录将被递归删除,文件或符号链接将被取消链接


请参阅:

问题是我不想删除目录中的所有文件。我只想删除其中的一个文件和一个目录。。app.war和app在webapps中处于同一级别。。我应该仔细看看。很抱歉那么@zigarn的答案是正确的。与_项一起使用可在要删除的路径上循环。