存储 Jenkins 管道作业元数据?



有没有办法存储来自 Jenkins 管道作业的一些元数据,例如:

  • 我们有一个 Jenkinsfile 它构建了一个 gradle 项目,创建 docker 镜像并将其推送到 google cloud
  • 然后启动一个"子作业",在该 docker 映像上运行集成测试 (IT)。子作业接收几个参数(其中一个 - 生成的 docker 映像名称)

现在有时 IT 作业会失败,我想从主作业视图重新运行它,所以想法:

  • 我们有一个插件,可以在主作业的蓝海 UI 中呈现一个自定义按钮
  • 通过单击该按钮,将使用相同的参数再次调用子作业(插件查询 jenkins api,获取此作业的参数,然后重新提交子作业)。

问题 ?如何获取/设置这些参数。我似乎找不到一种机制,期待工件存储。我可以通过创建一个简单的 json/文本文件并将其作为工件上传,然后在我的插件中检索它来解决这个问题,但也许有更好的方法?

阶段重启不会进入脚本化管道,因此看起来不像 ant 选项。

也许你可以使用 Jenkins API 来获取构建的详细信息?

https://your_jenkins_url.com/job/job_name/lastBuild/api/json?pretty=true

除了lastBuild,您还可以使用内部版本号或lastStableBuild,lastSuccessBuild,lastFailedBuild,lastUnstableBuild,lastUnsuccessBuild,lastCompleteBuild

那里有一个参数键,其中包含生成中使用的所有参数名称和值。

有关 https://your_jenkins_url.com/job/job_name/api/的更多详细信息

另外,您有什么理由不能在 IT 作业中使用重播按钮吗?

最新更新