我正在尝试通过 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