Sim*_*mon 11 installation http ansible
我想扩展我的ansible playbook来安装/验证phantomjs和wkhtmltopdf的安装到我的Debian 7机器上.这两个程序都可以通过HTTP作为打包的tarball使用.我知道get_url模块,但它没有解压缩东西,如果我添加一些shell命令来解压缩和移动二进制文件,我怀疑每次运行ansible时,tarball都会被下载,解压缩并再次移动,导致不必要的网络流量
我怎么解决这个问题?我应该使用apt命令创建一个.deb文件并运行它,还是应该创建一个新的ansible模块来安装tarball,还是有些东西我可以忽略?
leu*_*cos 10
如果您下载特定版本(例如foo_1.2.3.tar.gz
,不是foo_latest.tar.gz
),您可以通过保留下载的tarball来执行此操作:
- name: Gets tarball
sudo: yes
sudo_user: "{{ deploy_user }}"
get_url:
url="http://some.host/some_tarball-{{ tarball_version }}.tar.gz"
dest="/home/{{ deploy_user }}/"
register: new_archive
- name: Unarchive source
sudo: yes
sudo_user: "{{ deploy_user }}"
unarchive:
src="/home/{{ deploy_user }}/some_tarball-{{ tarball_version }}.tar.gz"
dest="/home/{{ deploy_user }}/app/"
copy=no
when: new_archive|changed
Run Code Online (Sandbox Code Playgroud)
根据您的环境更改变量.