如何在Jenkins管道中存储以前的参数值?
在jenkins 2.73.1中,我有一个用groovy编写的管道作业,它有两个字符串参数:如何在Jenkins管道中存储以前的参数值?,jenkins,groovy,jenkins-pipeline,Jenkins,Groovy,Jenkins Pipeline,在jenkins 2.73.1中,我有一个用groovy编写的管道作业,它有两个字符串参数:ReleaseVersion和NextDevelopmentVersion 我希望通过在脚本末尾存储/更新当前作业参数值来简化作业的使用,以便它们成为下一次构建的下一个默认值 示例: 用户为当前生成输入以下值: ReleaseVersion = 1.2.3 NextDevelopmentVersion = 1.2.4-SNAPSHOT 我想更新作业默认值,以便下次生成时显示 ReleaseVersion
ReleaseVersion
和NextDevelopmentVersion
我希望通过在脚本末尾存储/更新当前作业参数值来简化作业的使用,以便它们成为下一次构建的下一个默认值
示例:用户为当前生成输入以下值:
ReleaseVersion = 1.2.3
NextDevelopmentVersion = 1.2.4-SNAPSHOT
我想更新作业默认值,以便下次生成时显示ReleaseVersion = 1.2.4
NextDevelopmentVersion = 1.2.5-SNAPSHOT
可能吗?
在groovy中如何做到这一点
我发现了这个问题,但无法解决。将这些值作为参数传递给作业,并读取管道代码中的变量
然后使用,这将允许您使用以前生成的参数重新运行作业。无需配置。问题是9个月前,Jenkins管道功能在此期间发生了很大变化。我所能说的是,从今天起,在詹金斯2.73中,这似乎是可行的 在Jenkins文件中,您可以有这样一个部分来设置一些构建参数:
properties properties: [
parameters([
string(defaultValue: env.VERSION, description: 'Version to deploy', name: 'VERSION'),
])
]
当有人为此作业单击“立即构建”,输入版本值并单击“构建”时,作业配置中的默认值将设置环境变量版本,以便在文件运行时使用
因此,用户键入的值将作为新的默认值设置回作业配置中。这对当前运行没有影响,但将应用于下一次运行
当用户再次单击“build now”进行下一次运行时,该值将显示为默认值
我很确定,虽然这很复杂,但它可能并不总是这样。但缺点非常有限,因为用户必须在单击“构建”按钮之前在框中键入正确的新版本号。使用如下参数:
node {
properties([parameters([string(defaultValue: this.abc, description: '', name: 'abc', trim: false)])])
echo params.abc
}