首页 > 解决方案 > 如何调试以下 Jenkins 错误?

问题描述

我最近刚刚创建了一个新的 Jenkins 管道,它正在从存储库中的 Jenkinsfile 脚本中读取。我创建了一个分支,然后将此脚本提交给 repo。现在我正在尝试在 jenkins 上构建这个分支,但我收到以下错误,我不确定我做错了什么,因为我基本上是从我可以成功构建的现有 repo 中复制了 Jenkinsfile。这是我第一次为这个项目构建,但它不起作用。请指教。当它说“由于早期故障而跳过”时,这是什么意思以及如何识别此故障?

Commit message: "Project Foundation"
Cleaning workspace
 > git rev-parse --verify HEAD # timeout=10
Resetting working tree
 > git reset --hard # timeout=10
 > git clean -fdx # timeout=10
[Pipeline] sh
+ git describe --tags
[Pipeline] }
[Pipeline] // script
[Pipeline] }
[Pipeline] // stage
[Pipeline] stage
[Pipeline] { (Build)
Stage "Build" skipped due to earlier failure(s)
[Pipeline] }
[Pipeline] // stage
[Pipeline] stage
[Pipeline] { (Test)
Stage "Test" skipped due to earlier failure(s)
[Pipeline] }
[Pipeline] // stage
[Pipeline] stage
[Pipeline] { (Publish Dev)
Stage "Publish Dev" skipped due to earlier failure(s)
[Pipeline] }
[Pipeline] // stage
[Pipeline] }
[Pipeline] // withEnv
[Pipeline] }
[Pipeline] // withCredentials
[Pipeline] }
[Pipeline] // withEnv
[Pipeline] }
[Pipeline] // node
[Pipeline] End of Pipeline
ERROR: script returned exit code 128
Finished: FAILURE

标签: jenkins-pipeline

解决方案


您的存储库似乎没有要描述的标签。

Jenkins 到达运行shshell 脚本git describe --tags(见行首的加号+,表示它已运行),但失败,退出代码 128,显示在控制台输出的末尾:

错误:脚本返回退出代码 128

显然,git describe如果没有什么可描述的(在您的情况下为标签),似乎会退出该代码。

要从这里继续,您可以删除该行,或通过添加|| true到命令来添加忽略错误:

sh "git describe --tags || true"

推荐阅读