Ansible->如何强制执行所有任务?

Sew*_*zki 2 overwrite task execution ansible server

我们想重置服务器安装。

我们已经有Ansible脚本来设置我们的服务器,因此我们想执行它。但是Ansible会检查,例如某些文件是否存在,然后跳过准备这些文件的步骤,但是我们要覆盖所有文件。

有什么方便的选择吗?

use*_*522 5

根据评论更新

在这种情况下(服务器上的证书需要重新生成)nuke,我的剧本中始终设置有一个标志false,并且执行清理任务

- file:
    path: '{{ item }}'
    state: absent
  when: nuke
  with_items:
    - /path/to/file1
    - /path/to/file2
Run Code Online (Sandbox Code Playgroud)

当我需要重新创建东西时,我将ansible与

ansible-playbook pb.yml -e nuke=true
Run Code Online (Sandbox Code Playgroud)

它不是最优雅的解决方案,但可以完成工作。


旧的过时的答案

没有任何标准的方法可以做到这一点。但是我认为这没有任何意义。

Ansible保证您要供应的事物(即文件)的最终形式与您告诉过的事物的形式相匹配。

例如,如果您部署这样的模板

- template:
  src: ./foo
  dest: /etc/foo
  owner: root
Run Code Online (Sandbox Code Playgroud)

然后执行该文件,可以确保文件具有正确的内容并由root用户拥有。

您可以添加许多配置来确保配置(的校验和get_url,等等)。