Shell 如果上一个playbook失败,如何运行下一个ansible playbook
我们正在用ansible测试我们的设置。测试结果被捕获到一个文件中。一旦ansible playbook执行完成,我们就可以查看测试摘要文件,并知道其中有多少通过了测试。现在这个过程通过詹金斯实现了自动化。在Jenkins中,在shell提示符下执行下面的代码Shell 如果上一个playbook失败,如何运行下一个ansible playbook,shell,jenkins,ansible,Shell,Jenkins,Ansible,我们正在用ansible测试我们的设置。测试结果被捕获到一个文件中。一旦ansible playbook执行完成,我们就可以查看测试摘要文件,并知道其中有多少通过了测试。现在这个过程通过詹金斯实现了自动化。在Jenkins中,在shell提示符下执行下面的代码 cd ${repodir} ansible-playbook -i rhelhost plugin.yml result=$? ansible-playbook -i rhelhost testsummary.yml if [ $resu
cd ${repodir}
ansible-playbook -i rhelhost plugin.yml
result=$?
ansible-playbook -i rhelhost testsummary.yml
if [ $result -ne 0 ]; then
echo "ERROR: Execution is failed"
exit 1
fi
但是如果只有plugin.yml执行成功,那么testsummary.yml将被执行。如果发生故障,即使结果=$?行未被执行
如果plugin.yml中出现故障,如何执行这些行?即使某项测试失败,我们的测试总结也会给出测试结果。请尝试下面的内容
cd ${repodir}
ansible-playbook -i rhelhost plugin.yml
result=$?
if [[ $result -eq 0 ]]; then
echo "SUCCESS"
ansible-playbook -i rhelhost testsummary.yml
else
echo "FAILURE"
exit 1
fi
更改语句
ansible playbook-i rhelhost plugin.yml&&result=$?||中的行以捕获结果结果=$?
。外壳可能带有set-e
。