Я злюсь на следующий конвейерный код, так как он не делает то, что я ожидаю.У кого-нибудь есть идеи, что я делаю не так?
Вот мой конвейерный код для определения параметра
pipeline {
agent any
parameters { booleanParam(name: 'bForceCheckout', defaultValue: false, description: '') }
...
А вот сам этап
stage('SVN Checkout') {
// Get code from SVN repository
steps {
script {
// If project is not yet checked out, setup checkout structure, i.e. which
// folders will be checked out and which will not be checked out
retry (5) {
try {
def svnInfoError = bat (returnStatus: true, script: "svn info ${projectName}")
// bForceCheckout has to be set as parameter in the job
println "---> " + ((svnInfoError != 0) || bForceCheckout)
if ((svnInfoError != 0) || bForceCheckout) {
println "svnInfoError: " + svnInfoError
println "bForceCheckout: " + bForceCheckout
timeout(activity: true, time: 90, unit: 'MINUTES') {
// Clean up
deleteDir ()
... some SVN related stuff ...
}
}
} catch (Exception ex) {
// Clean up
deleteDir ()
println(ex.toString());
error ("SVN checkout: directory structure could not be set up")
}
}
}
}
}
ИЗдесь вывод консоли.Как видите, svnInfoError и bForceCheckout равны 0 / false, но часть в условии if все еще выполняется ...
12:51:22
[Pipeline] echo
12:51:22 --->false
[Pipeline] echo
12:51:23 svnInfoError: 0
[Pipeline] echo
12:51:23 bForceCheckout: false
[Pipeline] timeout
12:51:23 Timeout set to expire after 1 hr 30 min without activity
[Pipeline] {
[Pipeline] deleteDir
[Pipeline] bat
12:55:21