我用groovy编写的jenkins工作调用一个shell脚本,内部调用ansible playbook进行sns发布和route53映射。我希望以一种方式处理ansible脚本失败,它将它传递给jenkins shell脚本,然后是groovy jenkins工作。 如果有办法我可以将ansible错误抛给shell脚本并传播给jenkins groovy代码,请你告诉我。 任何帮助将不胜感激
ansible-playbook -vvv -c local "route53Mapping.yml" --extra-vars '{"hostedZoneId":'${hostedZoneId}', "route53Url":'${route53Url}'}'
答案 0 :(得分:0)
如果您的ansible项目中尚不存在文件ansible.cfg
,请创建
向其添加以下指令以创建本地日志文件
log_path = ./ansible-playbook.log
当playbook失败时,它会在shell退出代码不同于0
时退出,因此您可以显示文件ansible-playbook.log
的最后n行,甚至可以更好地重定向文件内容从你的脚本到stderr