gpt4 book ai didi

git - Jenkins 无效的 Git 修订

转载 作者:太空狗 更新时间:2023-10-29 14:22:03 28 4
gpt4 key购买 nike

在 Jenkins 中,我使用 XML API 来获取提交的 SHA,例如

http://jenkins/view/job/test/470/api/xml?xpath=//lastBuiltRevision/SHA1&wrapper=SHAS

我把它放在一个包装器中,因为它通常包含多个 SHA,我将进一步处理这些。

但是其中一个 SHA 总是无效的...

<SHAS>
<SHA1>cbf26ebac6b4b3860a794c0b1ad86758e7757a3a</SHA1>
<SHA1>7e861132ce428911585a818107ba35c44cf12bbf</SHA1>
</SHAS>

第二个 SHA 没问题,但是当我在我们的 GIT 存储库提交中检查第一个 SHA 时,它会导致一个错误页面:

Commit 'cbf26ebac6b4b3860a794c0b1ad86758e7757a3a' does not exist in repository 'test'.

有谁知道为什么我们在 Jenkins 上得到无效的 SHA 以及如何解决这个问题?

更新:

完整的 lastBuiltRevision ...

<wrapped>
<lastBuiltRevision>
<SHA1>cbf26ebac6b4b3860a794c0b1ad86758e7757a3a</SHA1>
<branch>
<SHA1>cbf26ebac6b4b3860a794c0b1ad86758e7757a3a</SHA1>
<name>origin/master</name>
</branch>
</lastBuiltRevision>
<lastBuiltRevision>
<SHA1>7e861132ce428911585a818107ba35c44cf12bbf</SHA1>
<branch>
<SHA1>7e861132ce428911585a818107ba35c44cf12bbf</SHA1>
<name>refs/remotes/origin/develop</name>
</branch>
</lastBuiltRevision>
</wrapped>

最佳答案

我的猜测是 scm 插件在构建运行后解析构建日志以提取修订数据。如果您使用 Multiple SCM plugin ,带有多个 gitcheckout 命令的 Jenkins 管道或 Jenkins Shared Library很可能最终会从多个存储库中进行多个 scm 修订(我们目前有 6 个作业...)。

我不知道是否可以忽略 SCM 修订解析的部分日志,否则您将不得不对请求进行一些过滤。如果不同的修订在日志中按顺序发生,那么您可以选择始终丢弃第一个或第二个。

关于git - Jenkins 无效的 Git 修订,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46045821/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com