在那里进行更改后,是否可以即时获取参数化管道的更改?

例如,我有一个管道代码:

properties([
        parameters([
                string(name: 'TARGET_HOST', defaultValue: 'test', description: 'Host on which artifact will be deployed'),
                string(name: 'ARTIFACT_ID', defaultValue: 'test', description: 'Name of artifact which will be doployed'),
                string(name: 'ARTIFACT_VERSION', defaultValue: '1', description: 'Version of artifact which will be deployed')
        ])
])


,我决定将TARGET_HOST参数的defaultValue从test更改为1。

完成此类更改后,我需要运行job才能应用更改,并且仅在进行更改后第二次运行它,我才能获取已应用的更改。

是否有一种方法可以使作业在第一次运行后进行拾取?

到目前为止,我找到了一种使用输入结构进行操作的方法:

评论

可能相关:groups.google.com/forum /#!msg / jenkinsci-users / YlbYq05sbdo / ...

#1 楼

目前,您所要求的是不可能的。这是由于Jenkinsfile加载到管道中的方式造成的。
我认为dolphy最好在此StackOverflow答案上说(我之前保存了此链接以进行更改,因为我有相同的问题) :

直到获取,解析并运行Jenkins文件,Jenkins才知道新参数,而唯一的方法是...运行构建。
实际上,构建历史将始终“落后于” Jenkinsfile;当您更改Jenkinsfile中的内容时,下一个构建将使用“旧的” Jenkinsfile运行,但是之后为该构建拾取并处理新的Jenkinsfile。可以关注