wordpress - 使 `get_url` 和 `unarchive` ansible 命令幂等

标签 wordpress ansible

我有两个 ansible 任务,它们下载存档(例如最新的 wordpress 版本)并提取该存档。

- name: Download WordPress
  tags:
    - wordpress
    - wordpress:install
  get_url: "url=http://wordpress.org/wordpress-{{ wordpress_version }}.tar.gz dest={{ www_docroot }}/wordpress-{{ wordpress_version }}.tar.gz"

- name: Extract archive
  tags:
    - wordpress
    - wordpress:install
  unarchive:
    src: "{{ www_docroot }}/wordpress-{{ wordpress_version }}.tar.gz"
    dest: "{{ www_docroot }}"
    remote_src: True

我是学习 ansible 的新手,我想弄清楚:我怎样才能使它成为幂等的 -

  1. 如果同名文件已经存在则不下载文件,或者
  2. 如果指定的目标文件夹已经存在,则不提取/展开 gzip 存档

谢谢!

最佳答案

考虑第一个查询 (get_url) 的 force 选项。 考虑第二个查询 (unarchive) 的 creates 选项。

示例代码,您需要这样的东西吗?

- name: Download WordPress
  tags:
    - wordpress
    - wordpress:install
  get_url: 
    url : "http://wordpress.org/wordpress-{{ wordpress_version }}.tar.gz dest={{ www_docroot }}/wordpress-{{ wordpress_version }}.tar.gz"
    dest: "{{ wordpress_version }}/wordpress-{{ wordpress_version }}.tar.gz"
    force : no
- name: Extract archive
  tags:
    - wordpress
    - wordpress:install
  unarchive:
    src: "{{ www_docroot }}/wordpress-{{ wordpress_version }}.tar.gz"
    dest: "{{ www_docroot }}"
    creates : "{{ www_docroot }}/wordpress"
    remote_src: True

关于wordpress - 使 `get_url` 和 `unarchive` ansible 命令幂等,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50364340/

相关文章:

css - 为什么我的内容会脱离 div 结构?

wordpress - 查询字符串正在破坏 SSL?

python - Django 压缩错误 : Invalid input of type: 'CacheKey'

python - 如何在Windows docker容器中安装python和ansible

Ansible非root sudo用户和 "become"权限提升

ansible - 使用 ansible 构建列表

php - WooCommerce 订单状态从支付网关更改

javascript - 如何? PHP 从 <script> 中回显数据

php - 更改 WordPress 中的 URL : Absolute links

linux - ansible playbook/shell 命令的电子邮件结果?