首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >通过Jenkinsfile使用多配置项目(构建管道插件)

通过Jenkinsfile使用多配置项目(构建管道插件)
EN

Stack Overflow用户
提问于 2016-04-05 05:44:14
回答 1查看 3.8K关注 0票数 19

我正在尝试创建一个多配置项目,该项目测试一系列定义了兼容性矩阵的构建(例如,通过浏览器和操作系统)。我想通过Jenkinsfile定义单个组合的步骤。

我如何才能做到这一点?我可以创建依赖于JenkinsFile的管道参数化构建,但我不知道如何将其连接到多配置构建。

EN

回答 1

Stack Overflow用户

发布于 2017-01-20 21:56:48

在多配置项目中使用Jenkinsfile作为构建步骤似乎是不可能的。Jenkins文件用于管道作业,该作业也是作业类型,而Jenkins不支持(简单)作业类型之间的转换。除此之外,buildstep意味着它在executor插槽中的特定节点上运行。然而,Jenkinsfile是在master上计算的,它本身定义了buildstep (带有它们的节点标签),如果它在buildstep本身中运行,就会固有地发生冲突。

可以通过多配置作业触发管道,并为其提供来自多配置作业的参数。(我还使用了参数化触发器插件来完成此操作)

我的管道作业有两个文本参数,labelversion,以及一个示例Jenkinsfile,如下所示:

node(this.label){
  println this.version   
}

我的多配置作业具有以下配置:

  • 具有值alpha beta gamma的自定义轴version和具有选定节点的从属轴label
  • 构建步骤" trigger /call builds on other projects“,以使用预定义的参数version=${version}version=${version}触发管道作业

这种设置导致管道作业被调用3次(因为我只选择了一个节点),每次都使用不同的版本,并在我指定的标签上运行。以下是其中一个日志:

[Pipeline] node
Running on master in /var/lib/jenkins/jobs/pipelinejob/workspace
[Pipeline] {
[Pipeline] echo
gamma
[Pipeline] }
[Pipeline] // node
[Pipeline] End of Pipeline
Finished: SUCCESS

如果您只想传递基于文本的参数或标签名称,则此解决方案有效。如果你想做一些像“使用不同的jdks构建”这样的事情,那么使用它将会非常棘手。我希望它仍然是有帮助的。

票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/36413443

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档