Jenkins 詹金斯管道公司不';PHP linter错误时中止
我需要一些管道方面的帮助。我可能错过了一些琐碎的信息 因此,我有以下示例管道:Jenkins 詹金斯管道公司不';PHP linter错误时中止,jenkins,jenkins-pipeline,Jenkins,Jenkins Pipeline,我需要一些管道方面的帮助。我可能错过了一些琐碎的信息 因此,我有以下示例管道: pipeline { agent any stages { stage('Build') { steps { ... some build steps (irrelevant) ... } } stage('Test'){ steps {
pipeline {
agent any
stages {
stage('Build') {
steps {
... some build steps (irrelevant) ...
}
}
stage('Test'){
steps {
sh 'find . -type f -name "*.php" -exec php56 -l {} \\;'
}
}
}
post {
success {
echo 'posting success to GitLab'
updateGitlabCommitStatus(name: 'jenkins-build', state: 'success')
}
failure {
echo 'posting failure to GitLab'
updateGitlabCommitStatus(name: 'jenkins-build', state: 'failed')
}
}
}
作为测试,我故意创建了中断的PHP代码,当我运行find行时-键入f-名称“*.php”-exec php56-l{}\\代码>在我的代码库中,我看到它检测到错误。
此外,在Jenkins作业的控制台输出中,我看到了相同的结果:它检测错误
但是,我的成功块随后被触发。我是否未正确使用成功/失败块?
当我向find语句本身添加语法错误时(例如,丢弃\\;
部分),将触发一个错误,它将导致预期的失败
编辑(关于重复问题)
这个问题被标记为的副本,但因为我实际需要的信息是关于某个步骤或sh步骤失败的事实。因为这篇文章和答案包含了供其他人查找的相关信息,所以我会这样保存。如果命令以非零退出状态退出,Jenkins会将执行sh
步骤视为失败。所以你的问题可以归结为。可能重复的感谢:)又是一个好消息