jenkins - 从下游作业获取内部版本号
问题描述
我正在使用 Jenkins 来部署和测试我们的软件。我们的软件具有唯一的内部版本号。
我创建了一个工作“唯一内部版本号”。这项工作基本上什么都不做,只是增加内部版本号。
这个想法是我所有的实际构建作业都会触发唯一的内部版本号作业(并阻止直到内部版本号增量完成)。这里的挑战是我需要将实际的内部版本号作为参数传递给一些进一步的下游作业(我正在使用 jenkins 参数化触发器插件)。
我考虑过使用 groovy 脚本提取实际的内部版本号。我试图执行这个 groovy 脚本
import jenkins.model.Jenkins
def jobname = "unique_build_number"
def job = Jenkins.instance.getItemByFullName(jobname)
def build = job.getLastBuild()
但这总是给我
java.io.IOException: Cannot run program "groovy" (in directory "/Users/ci-slave/jenkins/workspace/Test_Get_Build_Number"): error=2, No such file or directory
您如何从花药詹金斯工作中获得内部版本号。它不一定是一个时髦的解决方案。我完全愿意接受建议:)
解决方案
在 Groovy Postbuild Step 中,您可以执行以下操作:
def build = manager.build.number
为了访问你可以做的工作
def job - build.parent
推荐阅读
- react-hook-form - How to submit `react-hook-form` properly with a `react-query` mutation?
- spring-boot - What does methodOn?
- android - Finding all the entries in a table having the column containing a substring
- python - Python,Matplotlib:在 3D 中沿 z 轴堆叠多个热图
- ej2-syncfusion - (angular) Syncfusion datepicker, open calender at a custom Decade
- javascript - 在居中元素上使用 Angular CDK DragDropModule
- java - 使用附加输入的合并函数 (max_num)
- nginx - 尽管应用了 large_client_header_buffers,为什么 nginx 入口控制器返回错误请求 400?
- c# - 在每个页面标题标签中实现 SEO 代码
- javascript - 在 jQuery 输入字段事件处理中链接 focus() 和 blur()?