詹金斯管道 | Groovy 异常处理
Jenkins Pipeline | Groovy exception handling
我正在 Jenkins 管道中编写 Groovy 脚本,它在远程服务器上执行 shell 脚本。
根据 shell 脚本的输出,我应该处理异常。
如果shell脚本输出='xyz'>构建成功
如果shell脚本输出!= 'xyz'>抛出异常,构建失败。
非常感谢任何帮助!
我的脚本
def check()
{
try
{
println "Check started"
sh "echo -e '' >> Result.txt"
sh "ssh -q -o StrictHostKeyChecking=no test_agent@Bihkik1123.xyz.com /home/test_agent/check.sh >> Result.txt"
println "Check completed"
}
catch(Exception e)
{
throw e;
}
}
如果关键字不匹配,您可以将阶段标记为 FAILED。 :
stage('test') {
println "Check started"
sh "echo 'xyz' > /tmp/results.txt"
shellReturn = sh(returnStdout: true, script: """
cat /tmp/results.txt
""").trim()
if(shellReturn == /xyz/){
currentBuild.result = 'SUCCESS'
} else{
println "FAILED"
currentBuild.result = 'FAILED'
}
}
我正在 Jenkins 管道中编写 Groovy 脚本,它在远程服务器上执行 shell 脚本。 根据 shell 脚本的输出,我应该处理异常。
如果shell脚本输出='xyz'>构建成功
如果shell脚本输出!= 'xyz'>抛出异常,构建失败。
非常感谢任何帮助!
我的脚本
def check()
{
try
{
println "Check started"
sh "echo -e '' >> Result.txt"
sh "ssh -q -o StrictHostKeyChecking=no test_agent@Bihkik1123.xyz.com /home/test_agent/check.sh >> Result.txt"
println "Check completed"
}
catch(Exception e)
{
throw e;
}
}
如果关键字不匹配,您可以将阶段标记为 FAILED。 :
stage('test') {
println "Check started"
sh "echo 'xyz' > /tmp/results.txt"
shellReturn = sh(returnStdout: true, script: """
cat /tmp/results.txt
""").trim()
if(shellReturn == /xyz/){
currentBuild.result = 'SUCCESS'
} else{
println "FAILED"
currentBuild.result = 'FAILED'
}
}