Ansible:文件更新的内联数据

Ansible:文件更新的内联数据

我需要通过 Ansible playbook 更新一些文件。

通常我的剧本会连接到存储新文件的站点并传输它们。

问题是是否有一种方法可以将新文件的内容集成到剧本中,以便将其捆绑在一起,而无需下载站点。

我想到了 HTML 和图像。您可以引用另一个文件,也可以将其内联 Base64 编码。

编辑

刚刚发现模块副本支持内联数据。

- name: Creating a file with content
    copy:
      dest: "x.x"
      content: |
        line1abc  xyz
        yxz000  123
        blabla *** ...

这对我来说是一种可能的方式。也许有更好的 - 请告诉我。

答案1

虽然您的方法有效ansible.builtin.copy,但content它无法针对大量文件进行扩展。

我建议你看看文档ansible.posix.synchronizeansible.builtin.git

同步模块基本上是 rsync 的包装器。

对于 html 文件或任何其他代码,无论如何您都应该使用 git,这样您就可以利用它进行文件传输。这里 -moduledepth的 -attribute很git有趣:您可能想要在您的网络服务器上进行深度为 1 的浅层克隆,而不是本地存储库的完整克隆。

相关内容