- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
在 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 ,带有多个 git
或 checkout
命令的 Jenkins 管道或 Jenkins Shared Library很可能最终会从多个存储库中进行多个 scm 修订(我们目前有 6 个作业...)。
我不知道是否可以忽略 SCM 修订解析的部分日志,否则您将不得不对请求进行一些过滤。如果不同的修订在日志中按顺序发生,那么您可以选择始终丢弃第一个或第二个。
关于git - Jenkins 无效的 Git 修订,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46045821/
为包含未推送变更集的 -r 选项指定修订/修订集的最佳方法是什么,这对于在本地克隆或在仅包含已推送变更集的存储库中创建书签很有用。 当您需要在工作中切换到其他您还没有准备好插入的事情时,通常需要这样做
我正在寻找一个合适的过程来保留数据库中行(及其关系)的修订或快照。 以电子商务平台为例- 客户创建订单。该订单与账单地址和送货地址相关联。 该客户随后更改了个人资料中地址簿中的地址。 原始订单的地址不
我喜欢 DocumentViewer 在 WPF 应用程序中显示 XPS 文档。但我还需要编辑 XPS 文档。我找到了用于编辑 XPS 的独立应用程序 (.exe)。我需要的是一个用于查看和编辑 XP
所以我目前正在分析我的 Spring Java 项目。我想做的一件事是计算文件/类已更改的次数。在 Eclipse 中,我可以右键单击一个类,选择 Team --> Show History,它会显示
目前我可以从没有纹理的 DAE 文件加载地球模型,只是为了显示屏幕上有东西。为此,我使用了 GLU。 但现在我正在尝试使用我们的GLM 和着色器 来加载带有纹理的模型。我遇到的问题是正确地让它们一起工
如何检查特定 Safari 二进制文件中使用了 webkit 的哪个修订版(svn 修订版)?例如,我想知道 Mac 上最新的 Safari(雪豹 10.6.7)使用的是哪个版本。 用户代理不提供此信
修订数据的存储方式每个受修订影响的对象在 _AUD 中都有一个单独的记录。 table 。因此,当我搜索影响对象的修订时 A ,我会找回修订版为3的条目用于对象 B , 但如果对象 A和/或 C修订版
在 git 中,您可以通过类似 master^^ 的方式引用修订版。 , 意思是 master 之前的两次修订。你能以某种方式(或通过某种扩展)在 Mercurial 中做同样的事情吗?例如,如果我想
我正在尝试使用 Python 2.7 对维基百科文章的内容如何随时间变化进行分析。我只对页面的内容感兴趣,发现最简单的方法是使用 Wikipedia package .我的代码成功加载了一篇文章,然后
我在 Alembic 中有一个依赖于特定后端的修订版,但语义并不明确依赖于它(只会让事情变得更快)。 我希望我的代码不依赖于特定的后端(即修改在运行时不会给出错误)。我应该在 def upgrade(
我有一个 Xcode 项目的本地 git 存储库。如何(从终端)将项目的特定修订 checkout 到不同的文件夹? 谢谢。 最佳答案 您可以将本地存储库克隆到另一个文件夹中: clone a spe
据我所知,git 通过保存更改的行来存储修订。运行文本文档,如文档或冗长的 LaTeX 文件,通常有很长的行或在 80 个字符后被强制中断。当一个词被更改时,它会导致更改行的巨大差异,从而使 git
我目前在我公司的官僚主义 hell 中,需要定义什么构成了我们测试程序的不同级别的软件更改。我们有一个我们内部遵循的粗略实践,但我正在寻找一个标准(如果存在)以在我们的质量体系中引用。我认识到开发人员
我已经开始使用 Hibernate Envers 来审计日志记录业务对象。我已经阅读了文档,并且从我看到的所有示例中,查询是通过修订号完成的。 我想按修订日期查询,即获取被审计实体在特定日期或日期范围
我正在构建一个网站,用户可以在其中更改其公开显示的个人资料。但是,我需要所有更改在上线之前都得到管理员的批准。在更改获得批准之前,他们的旧个人资料将显示。在管理员中应该有一个等待批准的配置文件列表。最
我正在构建一个网站,用户可以在其中更改其公开显示的个人资料。但是,我需要所有更改在上线之前都得到管理员的批准。在更改获得批准之前,他们的旧个人资料将显示。在管理员中应该有一个等待批准的配置文件列表。最
我编辑了这个问题,因为下面提到的答案是在使用 while 和 begin 时,它应该在存储过程中。 所以现在我在存储过程中运行它,但我仍然遇到错误。 counter; while counter <
我刚开始使用 Hibernate Envers 进行审计,我想知道是否有办法在两个日期之间获取一个类的所有修订。 到目前为止我一直在使用: AuditQuery query = reader.crea
我认为前缀++ 和后缀++ 之间的唯一区别是它们的优先级。显然我错了。也许重要的是返回值? 最佳答案 在 C++ 中,++++i 可以编译,因为前缀 operator++ 返回一个左值。但是,仍然不建
在 Jenkins 中,我使用 XML API 来获取提交的 SHA,例如 http://jenkins/view/job/test/470/api/xml?xpath=//lastBuiltRevi
我是一名优秀的程序员,十分优秀!