Jenkins:构建完成后如何访问 git 修订版
Jenkins: how to access the git revision after build has finished
我有一个 freestyle (shell) jenkins 作业,在某些情况下,它会检出与开始时不同的 git 树。这背后的原因是程序要求。
一般流程是:
- 使用多个参数启动作业,包括 git_identifier,用于构建 git url 用于 src checkout
- 经过一些验证后,在 git_identifier 上执行了结帐(我知道它与以前相同,但仍然如此)
- 在某些情况下(验证失败,业务规则等)结账大师而不是通过git_identifier
- 作业完成,我需要创建一些审计日志。
- 作业执行由外部系统监控
问题:
lastBuiltRevision
中到底记录了什么?
- 如果这是作为构建参数的一部分传递的 git_identifier 的 sha1,我如何在构建完成后获取结帐状态(分离头)的 sha1?
请假设jenkins保留了几个(不小,不多)作业结果,但我们感兴趣的作业可能会被覆盖。工作区内容未保留,我们希望它保持这种状态。
jenkins 通知外部监控系统不可行。它们是可访问的,但外部系统中的一些附加数据无法绑定到 jenkins 数据。我需要获取一些额外的信息以记录在审核日志中。
非常感谢任何提示。
What is exactly recorded in lastBuiltRevision
?
lastBuiltRevision
是构建开始时由 Git 插件检出的提交,即它是 Branches to build[ 中配置的 treeish 指向的提交的 SHA1 =33=]字段。
If this is the sha1 of the git_identifier passed as part of the build parameters how can i get the sha1 of the state of the checkout (detached head) after the build has completed?
lastBuiltRevision
可能是 git_identifier,但前提是您已将 $git_identifier
配置到 Branches to build 字段。
无论如何,如果您稍后在构建步骤中签出另一个提交,Jenkins 对此没有任何记录:lastBuiltRevision
将保留在最初由 Git 插件签出的修订版中.
如果您想自己记录这些信息,这里有一些选项:
- 您可以将签出的修订回显到文本文件中并将此文件存档为工件
- 或者您可以滥用 build name or the build description 并在那里包含您最终签出的修订版
- 或者您可以编写一些聪明的 system groovy scripts 来操纵构建元数据
我有一个 freestyle (shell) jenkins 作业,在某些情况下,它会检出与开始时不同的 git 树。这背后的原因是程序要求。
一般流程是:
- 使用多个参数启动作业,包括 git_identifier,用于构建 git url 用于 src checkout
- 经过一些验证后,在 git_identifier 上执行了结帐(我知道它与以前相同,但仍然如此)
- 在某些情况下(验证失败,业务规则等)结账大师而不是通过git_identifier
- 作业完成,我需要创建一些审计日志。
- 作业执行由外部系统监控
问题:
lastBuiltRevision
中到底记录了什么?- 如果这是作为构建参数的一部分传递的 git_identifier 的 sha1,我如何在构建完成后获取结帐状态(分离头)的 sha1?
请假设jenkins保留了几个(不小,不多)作业结果,但我们感兴趣的作业可能会被覆盖。工作区内容未保留,我们希望它保持这种状态。
jenkins 通知外部监控系统不可行。它们是可访问的,但外部系统中的一些附加数据无法绑定到 jenkins 数据。我需要获取一些额外的信息以记录在审核日志中。
非常感谢任何提示。
What is exactly recorded in
lastBuiltRevision
?
lastBuiltRevision
是构建开始时由 Git 插件检出的提交,即它是 Branches to build[ 中配置的 treeish 指向的提交的 SHA1 =33=]字段。
If this is the sha1 of the git_identifier passed as part of the build parameters how can i get the sha1 of the state of the checkout (detached head) after the build has completed?
lastBuiltRevision
可能是 git_identifier,但前提是您已将 $git_identifier
配置到 Branches to build 字段。
无论如何,如果您稍后在构建步骤中签出另一个提交,Jenkins 对此没有任何记录:lastBuiltRevision
将保留在最初由 Git 插件签出的修订版中.
如果您想自己记录这些信息,这里有一些选项:
- 您可以将签出的修订回显到文本文件中并将此文件存档为工件
- 或者您可以滥用 build name or the build description 并在那里包含您最终签出的修订版
- 或者您可以编写一些聪明的 system groovy scripts 来操纵构建元数据