我想在项目失败时收到一封电子邮件。所以我在文件末尾创建了一个任务,向我发送电子邮件。现在的问题是,当任务失败时,洞项目也会失败,电子邮件任务也不会被触发。
有人能帮助我吗?
(我使用 Ansible Tower )
答案 0 :(得分:2)
您应该创建一个callback plugin,您可以在任何情况下对失败的任务做出反应。
Here是HipChat通知的示例。修改它以直接使用本地或远程smtp发送电子邮件并不太难。
修改:实际上 是一个邮件回调插件:https://github.com/ansible/ansible/blob/devel/plugins/callbacks/mail.py
答案 1 :(得分:1)
如果您根据ansible-playbook
命令的返回代码从shell发送邮件怎么办?
这是一个示例shell脚本:
ANSIBLE_OUTPUT=$(ansible-playbook site.yml -K)
if [ $? != 0 ]; then
echo "playbook failed! OUTPUT: ${ANSIBLE_OUTPUT}" | mail -s "playbook results" your_email@your_email_domain
else
echo "playbook executed successfully!" | mail -s "playbook results" your_email@your_email_domain
fi
答案 2 :(得分:0)
可塔本身提供此功能 您可以按照中所述创建通知模板 https://docs.ansible.com/ansible-tower/3.0/html/userguide/notifications.html#id1
与工作流程模板的通知选项相比,您可以在失败或成功时选择此模板