redhat-ansible-footer

Ansible: Cómo enviar en ansible la salida de un comando por email

A veces la salida de un comando contiene información que interesa que alguien reciba por email.

En Ansible podemos guardar la salida de un comando con ‘register’

# roles/test/tasks/main.yml
- name: git pull
 command: 'git pull {{ branch }}'
 args:
 chdir: /var/www/webpage.tld/
 register: output2email
 tags: 
 - live
 - stage
- local_action: mail
 from='root@servidor-ansible.tld'
 to='supervisor@eljefe.tld'
 subject='Deploy git en {{ ansible_hostname }}'
 body='{{ output2email.stdout }}'

La documentación de ansible nos recuerda que el módulo ‘mail’ está en el módulo ‘Extras’ y que aunque en este momento (20160119) se instalen junto con el core de la aplicación, puede separarse en un futuro.