如何查询当前 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://... 嘿@Codex24,是的,这是个好主意。我会将它添加到代码 sn-p 中。【参考方案3】:他们有RSS 和最新版本的更新日志,每个帖子的标题为Jenkins 2.xx
,所以也许你可以从中提取这些信息。
【讨论】:
以上是关于如何查询当前 Jenkins LTS 版本号?的主要内容,如果未能解决你的问题,请参考以下文章