截止到编辑本文时:
GitHub 上统计到的下载量为:7101(+453)次
GitHub 上的** Star **数为:187(+7)
码云上的 Star 数为:172(+21)
如果要把 Jenkins 和现有的系统进行对接的话,很多人可能会遇到一个问题,当调用 API 触发流水线构建后,如何能拿到构建的 ID 呢?
要回答这个问题的话,我们首先需要对 Jenkins 的相关机制有一些了解。每当触发一个任务时,Jenkins 会先把这个请求放到一个队列中,当有了可以运行该任务的计算节点(agent)之后,Jenkins 的 master 会把任务调度到对应的节点上去,此时就开始真正地运行了。
换句话说,任务的调度是异步进行的。因此,触发构建后,是无法拿到一个构建 ID 的,因为此时还没有开始构建。
我在这里给出的方案是:在 Jenkins 上安装插件 Pipeline restFul API v0.9 的后,可以通过 Jenkins CLI v0.0.30 来解决这个问题,具体使用方法如下:
jcli job build job/devops/ -b --wait --columns Number --no-headers
输出结果为:36
下面是本次版本发布中所包含的内容:
功能
增加自我升级的功能,支持升级到任意版本 (#431) @LinuxSuRen
支持更新流水线后立即执行 (#429) @LinuxSuRen
通过 homebrew 安装的话集成 man 帮助手册 (#391) @LinuxSuRen
支持触发流水线并获取构建 ID (#434) @LinuxSuRen
为插件上传命令增加超时时间 (#428) @LinuxSuRen
为插件检查更新命令增加超时时间 (#422) @LinuxSuRen
缺陷修复
- 修复无法在需要有 HTTP 代理的情况下连接 JNLP 节点 (#420) @LinuxSuRen
文档完善
- 将 jcli 的文档部署到了 gitbook (#426) @LinuxSuRen
维护
- 多个依赖的版本更新 @dependabot-preview
CI/CD 哪家强 - 主流开源 CI 工具对比
征集用户故事- Jenkins is the Way
Tekton 流水线发布首个官方 Beta 版本
Jenkins流水线与k8s的持续集成落地分享
使用 Prometheus 和 Grafana 监控 Linux 进程
本文分享自微信公众号 - Jenkins(Jenkins-Community)。
如有侵权,请联系 [email protected] 删除。
本文参与“OSC源创计划”,欢迎正在阅读的你也加入,一起分享。