我有我的Jenkins管道的Probems。我想要执行以下操作: 如果构建环境已经存在于Workspace中,则执行使用先前环境的(增量)构建。Jenkins管道:Try/catch insyde重试块
如果失败了干净的构建重试(删除以前Buiod环境,然后重新编译)
我试图做到这一点:
retry(1) {
try {
prepareEnvironment()
setupBuildEnvironment() // sets up environment if it is not present yet
runBuild()
} catch (e) {
echo 'Err: Incremental Build failed with Error: ' + e.toString()
echo ' Trying to build with a clean Workspace'
removeOldBuildEnvironment()
} finally {
cleanupEnvironment()
}
}
当我在詹金斯和运行这个runBuild()
一步失败了,我得到:
org.jenkinsci.plugins.scriptsecurity.sandbox.RejectedAccessException: 脚本不得使用新java.lang.Except ion java.lang.String
我认为问题是重试(1)块内的try/catch。任何建议如何解决这个问题
我也尝试过没有重试。在这里,我不得不说,如果
bat "..."
步内runBuild()返回一个例外管道为失败,即使我赶上exeption和干净的构建是成功的舞台被标记的问题。
有什么建议吗?