如何查询当前 Jenkins LTS 版本号?

Posted

技术标签:

【中文标题】如何查询当前 Jenkins LTS 版本号?【英文标题】:How to query the current Jenkins LTS version number? 【发布时间】:2017-05-08 21:57:00 【问题描述】:

如何以编程方式获取指定为 Jenkins 当前 LTS 版本的版本号,这是每周版本号列表之一?

Jenkins download page 有文本指示指定为 LTS 的当前版本(例如 2.46.2)。 要下载适用于 Ubuntu 的当前 Jenkins LTS 发行版二进制文件,有两种选择:

发行版特定的软件包,它们的名称中包含版本,以免产生歧义。 通用 war 文件,不包含版本号以允许恒定的下载目标,大概可以保证随着时间的推移而链接到当前版本。

我正在寻找一种以编程方式获取版本号的方法,以便它可以用于:

检查当前版本以检测更新 描述通用战争文件 完成要检索的包含版本号的文件名

我希望在 Jenkins.io 网站的某个地方有一个包含权威版本值的文件,可以通过 cURL 或其他方式查询。

【问题讨论】:

【参考方案1】:

jenkins 更新中心 [1] 提供最新版本号

稳定版 (LTS) https://updates.jenkins.io/stable/latestCore.txt 最新的https://updates.jenkins.io/latestCore.txt

所以,一个简单的curl -Ls https://updates.jenkins.io/stable/latestCore.txt 应该可以检索最新的 LTS 版本号。

[1]https://updates.jenkins.io/

【讨论】:

这应该是公认的答案。当前接受的答案依赖于特定的 html 实现,以便其各种管道和 sed 工作。这反而是最简单的来源。【参考方案2】:

在撰写此消息时,您可以在此 url 下找到稳定版本

http://mirrors.jenkins.io/war-stable/

这样的东西可以为您提供版本和 WAR 文件的链接

LATEST_JENKINS_LTS_VERSION=$(curl -s http://mirrors.jenkins.io/war-stable/ | grep DIR | tail -n2 | head -n1 | sed 's/^.*href="//; s/\/".*//')

LATEST_JENKINS_LTS_WAR="http://mirrors.jenkins.io/war-stable/$LATEST_JENKINS_LTS_VERSION//jenkins.war"

或者,如果您只需要指向最新 jenkins 战争文件的链接,请使用此网址

http://mirrors.jenkins.io/war-stable/latest/jenkins.war

【讨论】:

我尝试将此作为编辑添加到您的答案中,但它不够大:添加“-s”选项以减少噪音。 LATEST_JENKINS_LTS_VERSION=$(curl -s http://... 嘿@Co​​dex24,是的,这是个好主意。我会将它添加到代码 sn-p 中。【参考方案3】:

他们有RSS 和最新版本的更新日志,每个帖子的标题为Jenkins 2.xx,所以也许你可以从中提取这些信息。

【讨论】:

以上是关于如何查询当前 Jenkins LTS 版本号?的主要内容,如果未能解决你的问题,请参考以下文章

ubuntu16.04LTS命令行查看版本号

如何用命令查询当前ubuntu版本号

Jenkins 签出SVN指定版本号

jenkins插件之如何优雅的生成版本号

如何使用 Jenkins 自动化 package.json 中的版本号

ubuntu 16.04 LTS安装jenkins服务器