首页 文章

Ansible Tower:如果项目失败,发送电子邮件

提问于
浏览
0

我希望在项目失败时收到一封电子邮件 . 所以我在文件末尾创建了一个任务,向我发送电子邮件 . 现在的问题是,当任务失败时,漏洞项目也会失败,并且不会触发电子邮件任务 .

有人能帮助我吗?

(我正在使用 Ansible Tower

2 回答

  • 1

    你应该创建一个callback plugin,你可以在任何情况下做出反应,比如失败的任务 .

    Here是HipChat通知的示例 . 修改它以直接使用本地或远程smtp发送电子邮件并不太难 .

    Edit: 实际上有一个邮件回调插件:https://github.com/ansible/ansible/blob/devel/plugins/callbacks/mail.py

  • 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
    

相关问题