使用 Ansible 解压下载的 tarball

使用 Ansible 解压下载的 tarball

我正在尝试通过 Ansible 下载并安装 WordPress,但我似乎无法弄清楚我在这里做错了什么。首先,我通过模块下载,get_url然后尝试使用该unarchive模块将源移动到我的同步文件夹。

角色/wordpress/默认

wp_debug: true
wp_version: 4.2.1
auto_up_disable: false
core_update_level: false

角色/wordpress/任务/main.yml

- name: Download WordPress
  get_url: url=http://wordpress.org/wordpress-{{ wp_version }}.tar.gz dest=/var/www/wordpress-{{ wp_version }}.tar.gz

- name: Extract archive
  unarchive: src=/var/www/wordpress-{{wp_version}}.tar.gz dest={{site.www_root}}

错误信息 在此输入图像描述

然后当我 ssh 进入流浪盒时...... 在此输入图像描述

眼镜:Ubuntu 14.04、Ansible 1.9.1、Vagrant 1.7.2、OSX 优胜美地

笔记: site.www_root被设定为/var/www/wordpress

答案1

看来模块copy的参数unarchive是让你绊倒的原因。http://docs.ansible.com/unarchive_module.html状态:

  • -如果copy=yes(默认),则为要复制到目标服务器的存档文件的本地路径;可以是绝对的或相对的。

  • -如果copy=no,目标服务器上要解压的现有存档文件的路径。

本质上是get_url将您的文件下载到远程服务器,但unarchive尝试从本地计算机中提取它。

您的第二个任务应更新为:

- name: Extract archive
  unarchive: src=/var/www/wordpress-{{wp_version}}.tar.gz
             dest={{site.www_root}}
             copy=no

相关内容