0

目前我正在使用 urllastFailedBuild在浏览器中显示 png (捕获页面错误)(jenkins 报告):http ://-jenkins-/job/jobName/lastFailedBuild/artifact/screenshots/Fail1.png/

但问题是:我将能够存储与我在 conf.xml 中设置的最大构建一样多的工件。所以我想保留每个构建的工件。我们已经可以做到了,但是 url 包含内部版本号(我想避免操纵路径来取回内部版本号)。是否有 jenkins 别名、插件,或者我们可以为此使用通配符吗?

有一个像 currentBuild 这样的别名,它返回内部版本号将是完美的(而且简单)。“当前构建”是指我正在观看的数字构建报告,而不是最后的构建报告。

此外,这些人工制品物理存储在哪里?我的意思是,我知道文件存储在工作区中的位置,但是对于 url 显示/job/的工件,我的詹金斯服务器中包含工件的文件夹在哪里?它是一种指向工作区中文件的符号链接吗?

我想知道:如果我在每次新构建之前删除图像(在工作区中),它会保留以前的工件吗?我认为是的,因为当我覆盖 png 图像时,会保留工件(在我看来)。

我认为这个主题:aliasing jenkins artifact URLs没有回答我的问题。

更多细节 :

这是我当前的报告,现在我想参考http ://-jenkins-/job/JDN/55/artifact/screenshots/Fail1.png/一下我是在构建报告 #55 上,还是http ://-jenkins-/job/JDN/50/artifact/screenshots/Fail1.png/在构建报告 #50 上。

我可以在我的脚本中查找最后一个数字版本,但它有点重。我想知道 Jenkins 是否管理它,例如 lastFailedBuild、lastSuccessfulBuild 别名。-> 一个别名,它指的是观察到的报告的工件。-> 它可能是这样的:http ://-jenkins-/job/JDN/currentReportNumber/artifact/screenshots/Fail1.png/

4

2 回答 2

1

有永久链接/lastBuild,这就是我认为您所说的“当前版本”的意思

您还可以添加/buildNumber到任何永久链接以仅获取构建号的值,例如/lastBuild/buildNumber将返回最后执行的构建/lastFailedBuild/buildNumber的数值,而将返回最后失败的构建的数值。

从物理上讲,工件与您的WORKSPACE. 在$JENKINS_HOME(或%JENKINS_HOME%对于 Windows)下,查找/jobs/<jobname>. 在那里你会看到
- config.xml(你的工作配置) - nextBuildNumber (包含下一个内部版本号,不要修改它) - 工作区文件夹(这是WORKSPACEJenkins 在构建期间使用的工作 - 构建文件夹(这是历史您保留的所有构建)

打开builds文件夹,您将看到所有保存的构建(在时间戳文件夹中),包括表示永久链接的符号链接(例如lastFailedBuild,等)。在每个带时间戳的文件夹下,您将看到archive文件夹。这是存储归档工件的地方。

WORKSPACE要通过 URL访问文件,请使用http://<jenkins-url>/job/<job-name>/ws/<path-to-files>

于 2014-05-23T13:44:15.923 回答
0

Jenkins 有一个您可以使用的变量列表,请参阅Jenkins 设置环境变量。所以在作业启动的shell脚本中;您可以查看内部版本号echo $BUILD_NUMBER并使用它。或者直接使用BUILD_URL。

我获得了每个构建的特定网址。

于 2014-06-26T09:47:15.667 回答