我使用的是Phing构建脚本与詹金斯,并想运行它端对端工作,并捕获所有的报告。 问题是,它停止建设上失败的生成步骤。 有没有一种方法或插件,甚至会继续失败的工作吗?
谢谢
我使用的是Phing构建脚本与詹金斯,并想运行它端对端工作,并捕获所有的报告。 问题是,它停止建设上失败的生成步骤。 有没有一种方法或插件,甚至会继续失败的工作吗?
谢谢
我不知道了很多关于Phing,但由于它是基于蚂蚁,如果您正在执行的构建步骤都有一个“failonerror”属性,你应该能够将其设置为false,这样整个构建不一样,如果故障步骤返回一个错误。
是的,使用try,catch块在你的脚本管道
例:
try {
// do some stuff that potentially fails
} catch (error) {
// do stuff if try fails
} finally {
// when you need some clean up to do
}
或者相反,如果你使用的是sh命令来运行这些测试,考虑与“||真正的”后缀运行你的sh脚本,这告诉Linux的sh脚本以退出为0的结果代码,即使您的真实命令退出退出码。
例:
stage('Test') {
def testScript = ""
def testProjects = findFiles(glob: 'test/**/project.json')
if (!fileExists('reports/xml')) {
if (!fileExists('reports')) {
sh "mkdir reports"
}
sh "mkdir reports/xml"
}
for(prj in testProjects) {
println "Test project located, running tests: " + prj.path
def matcher = prj.path =~ 'test\\/(.+)\\/project.json'
testScript += "dotnet test --no-build '${prj.path}' -xml 'reports/xml/${matcher[0][1]}.Results.xml' || true\n"
}
sh testScript