Jenkins 使用参数构建显示旧的和新的参数字段

问题描述 投票:0回答:2

我的 Jenkins 共享管道由内部数十个存储库使用,定义了多个参数字段。我们有几个最初使用另一个库或他们自己的临时管道的存储库,但随后导入了共享库。

在其中一些情况下,“使用参数构建”UI 会同时显示旧参数和新参数。我们已经多次重新运行管道,但旧的字段不会消失。 如果我们创建一个

new

分支,则仅显示新字段。 我认为控制器上有一个我们必须擦除的 xml 文件,但我不确定在哪里。

有人看过这个吗?分辨率是多少?

更新1

我进入

jobs

文件夹查看显示此内容的分支,并备份

config.xml
文件:
> cd /mnt/data/jenkins/jobs/<org>/jobs/workflows/jobs/<repo>/branches/jenkins-test/

> mv config.xml config.xml-bak

重新运行作业后,它会重新创建 
config.xml

并且具有相同的问题:旧字段和新字段仍然显示。

所以我删除了整个

jenkins-test

分支文件夹。这项工作不会在用户界面中消失。我对 Github 中的分支进行了测试提交,Jenkins 拿起它并运行它。它会自动在控制器上重新创建

jenkins-test
文件夹,并在重新尝试使用参数构建时,它
仍然
显示旧参数和新参数。 必须继续挖掘...

更新2

我为此创建了

https://issues.jenkins.io/browse/JENKINS-69652

更新3

我确认触发构建的提交是源存储库中的正确提交,并且它正在拉取管道库的正确提交。

更新4

有趣。我重播了一次运行,并进入了一个虚拟管道:

pipeline { agent none stages { stage ('hello') { steps { echo 'hello!' } } } }

返回“使用参数构建”UI,它现在“仅”显示“旧”参数字段。 

这是从哪里来的?卡在哪里了?? 我的第一个猜测是您正在隐式加载 Pipeline 库并在该隐式加载的 Pipeline 库中定义参数。 隐式加载的管道库将加载到 Jenkinsfile 中,无需

@Library
jenkins parameters jenkins-pipeline
2个回答
0
投票

检查作业和这些作业的父文件夹以及已定义并启用“隐式加载”复选框的管道库的根。

我知道已经有一段时间了,但以防万一其他人遇到此错误:

就我而言,将其放在共享库之上很有帮助:


0
投票

在我的情况下,旧管道是脚本化的,而共享库是声明性的,所以我猜脚本化参数可能存储在其他地方,并且只能由脚本化管道属性([])函数覆盖,而不能由参数{覆盖} 块。

© www.soinside.com 2019 - 2024. All rights reserved.