有没有办法让从执行 shell 步骤运行的脚本访问构建状态以及有关构建的其他信息?(例如内部版本号、开始/结束时间等)
我需要使用包含构建信息的脚本来更新 wiki 页面。
提前致谢!
有没有办法让从执行 shell 步骤运行的脚本访问构建状态以及有关构建的其他信息?(例如内部版本号、开始/结束时间等)
我需要使用包含构建信息的脚本来更新 wiki 页面。
提前致谢!
构建状态信息被保存到简单的 XML 文件中。看看
{jenkins-directory}/jobs/{job-name}/builds/{build-number}/build.xml
。如果需要,您可以使用 lastSuccessfulBuild 之类的符号链接,而不是指定内部版本号。
您将在那里找到有关构建的所有信息:构建状态、开始时间、持续时间等。解析 XML 文件或仅在 bash 脚本中使用 grep。
如果您不想使用文件系统,可以使用Jenkins API。
但无论如何,一旦您获得了一个可以确定构建参数并更新您的 wiki 页面的脚本,您就可以将它放入另一个 Jenkins 作业并自动触发它(例如,使用BuildResultTrigger 插件)。
我正在使用 jenkins 自己的 API 在作业运行时获取构建状态,这就像一个魅力。请注意,我正在使用JQ来解析 json 响应。
要让它工作,只需添加一个 shell 脚本并执行以下命令:BUILD_STATUS=$(curl --silent ${BUILD_URL}api/json | jq -r '.result')
结果如下: