步骤调用shell脚本(例如,在测试服务器上安装工件),并且由于技术原因而失败(网络不起作用,数据库崩溃等)。可能的反应:
整个工作都失败了。不是一个好主意,因为那时需要重复前面的步骤,没有充分的理由(这些步骤可以包括手动步骤)。
重试以后的步骤等了5分钟。有时可以解决问题,但如果问题是由配置错误引起的,也可能导致无限循环。
询问用户是继续还是中止。最灵活的方法,但需要(意外)使用互动。
Jenkins是否为此提供标准解决方案?
答案 0 :(得分:2)
整个工作都失败了。不是一个好主意,因为那时需要重复前面的步骤没有充分的理由(这些步骤可以包括手动的)。
这取决于您如何对问题的严重程度进行排名。我个人会说,如果您有任何类型的构建问题,请记录,失败并向需要知道的人发送通知。但如果你觉得这样做太过分了,你可能想尝试其他的东西。
例如,重试步骤等了5分钟。有时可以解决问题,但如果问题是由错误配置引起的,也可能导致无限循环。
你可以Jenkinsfile
/-\d+/
放弃,比如一小时,或者你认为这份工作应该花多长时间。通过这种方式,您可以重试几次,如果它被卡住,您可以保证终止工作。
询问用户是继续还是中止。最灵活的方法,但需要(意外)使用互动。
用户互动不是一个很好的选择,特别是如果你不知道什么时候会发生,或者你的工作安排在晚上10点到凌晨5点之间运行。
在所有选项中,听起来最好你可能是第二个;重试几次,如果这不起作用,则记录发生的事情,失败并通知某人。这应该涵盖你的零星技术问题。此外,如果重试不起作用,它可以表明存在更大的问题需要解决。