gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-12-03 13:37:14 24 4
gpt4 key购买 nike

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

我该如何实现?我可以创建一个依赖JenkinsFile的管道参数化构建,但是我不知道如何将其连接到多配置构建。

最佳答案

在多配置项目中,似乎没有Jenkinsfile作为构建步骤。 Jenkins文件也用于作业类型的管道作业中,并且Jenkins不支持作业类型之间的(轻松)转换。除此之外,构建步骤意味着它在执行程序插槽中的特定节点上运行。但是,Jenkinsfile是在主服务器上评估的,它本身定义了构建步骤(带有其节点标签),如果在构建步骤中运行该构建步骤会固有地发生冲突。

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

我的管道作业有两个文本参数,分别为labelversion,并带有一个示例Jenkinsfile,如下所示:

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


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


具有值 version的自定义轴 alpha beta gamma和具有选定节点的从轴 label
构建步骤“触发/调用在其他项目上构建”以使用预定义参数 version=${version}label=${label}触发我的管道作业


此设置导致管道作业被调用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进行构建”之类的操作,将非常棘手。我希望它仍然有帮助。

关于jenkins - 通过Jenkinsfile使用多配置项目(构建管道插件),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36413443/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com