我在Kubernetes上运行Jenkins版本2.85作为pod(Affinity设置为一个工作节点)。我正在使用以下工具创建作业
Salt Jenkins模块
通过将XML传递给此模块。
我正在使用Jenkins Global Library来执行作业。
我的作业配置如下所示



我使用repoURL、componet等参数调用GobalLibrary。
几周来一切都很顺利,现在我遇到了一个奇怪的情况,我的工作配置(config.xml)会自动更新/恢复。
我的“使用参数构建”选项间歇性地消失,在Jenkins GUI中只能看到“立即构建”。最初我以为有人在这么做,所以为了跟踪配置更改,我在Jenkins中安装了Job配置历史插件,但我发现很奇怪。用户名为"SYSTEM“的用户正在进行/恢复更改。
它看起来是这样的

我发现系统用户只还原作业配置更改,而不是管道。


我不确定在幕后发生了什么问题,以及如何停止或修复它。这是我的生产实例,所以我更担心。
我可以在我的Jenkins中看到一个系统用户

但我无法删除该用户

我找到了几个与此相关的问题,但没有答案
系统用户在Jenkins上更新作业的配置
Jenkins系统用户删除自定义工作区配置
我不确定这个Jenkins Bug或者是什么插件在玩弄我的灵魂。
需要帮助!:(
发布于 2018-05-13 20:35:22
好的,我找到了这个问题的答案。
我用过
属性
在我的Jekins Global Library中,类似以下内容
// Disable concurrent builds
//properties([disableConcurrentBuilds()])它覆盖了我的外部作业配置(通过salt完成)。
我从这个博客得到的提示:
https://st-g.de/2016/12/parametrized-jenkins-pipelines
发布于 2019-12-12 15:32:26
我也有这个问题。对我来说,当我从'H 23‘更改Build triggers -> Build Periodically设置时,这个问题就解决了
*
*
*
‘到'00 23
*
*
*
‘。(因为我希望我的构建在每晚23:00执行。)其中H让Jenkins决定何时在23:00到23:59之间运行作业,以均匀分配负载。似乎Jenkins有时认为最好是在不同的服务器上运行我的作业,并自动更改参数。
发布于 2021-03-02 09:02:23
在我的例子中,问题是Jenkins文件删除了我从Jenkins控制台添加到管道中的参数。在JenkinSfile (stage ->脚本->属性->参数)中添加相同的参数解决了该问题。
简而言之,请确保您的Pipeline脚本使用的配置与您的管道使用的配置相同。
有关参数的Jenkins文档:
https://www.jenkins.io/doc/book/pipeline/syntax/#parameters
https://stackoverflow.com/questions/50192880
复制相似问题