Desarquivando um tarball baixado com o Ansible

4

Estou tentando baixar e instalar o WordPress via Ansible e não consigo descobrir o que estou fazendo de errado aqui. Primeiro, faço o download por meio do módulo get_url e, em seguida, tento usar o módulo unarchive para mover a origem para a pasta sincronizada.

roles / wordpress / default

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

roles / wordpress / tasks / 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}}

Mensagem de erro

Então,quandoeusshnacaixavagabunda...

Especificações: Ubuntu 14.04, Ansible 1.9.1, Vagrant 1.7.2, OSX Yosemite

Notas: site.www_root está definido como /var/www/wordpress

    
por jeanpier_re 06.05.2015 / 23:30

1 resposta

12

Parece que o parâmetro copy para unarchive module é o que te enganou. O link declara:

  • -If copy=yes (padrão), caminho local para arquivar o arquivo a ser copiado para o servidor de destino; pode ser absoluta ou relativa.

  • -If copy=no , caminho no servidor de destino para o arquivo archive existente para descompactar.

Em essência get_url baixou seu arquivo para seu servidor remoto, mas unarchive tentou extraí-lo de sua máquina local.

Sua segunda tarefa deve ser atualizada como tal:

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