Jenkins - 在多个阶段使用 def 变量

Jenkins - use def Variable in multiple stages

我在阶段中有一个 Jenkins 变量 BUILDVERSION_DATE,它的计算和格式正确。一切正常。

script {
def now = new Date();
def inOneHour = new Date(now.getTime() + 1 * 3600 * 1000);
println inOneHour.format("yyyy-MM-dd-HH-mm-ss", TimeZone.getTimeZone('UTC'))
def BUILDVERSION_DATE=inOneHour.format("yyyy-MM-dd-HH-mm-ss", TimeZone.getTimeZone('UTC'))
 }

现在我想在多个阶段使用这个计算变量(没有代码重复)。 我试图将此代码放入 environment {...} 部分,但失败了。

如果它是静态变量,我知道我可以在环境段中定义它。 但是如何在多个阶段定义和使用这个计算变量呢? 谢谢!

如果您想将此值添加到名为 BUILDVERSION_DATE 的环境变量中,则可以将其分配给 Jenkins Pipeline 固有的 env 对象:

env.BUILDVERSION_DATE=inOneHour.format("yyyy-MM-dd-HH-mm-ss", TimeZone.getTimeZone('UTC'))