在同一个 Jenkins 管道中的下一个新代理中,如何在最后一个结束的代理中获取自定义环境变量(使用 AWS 代码提交 Jenkins 项目)

At next new agent in the same Jenkins Pipeline, how to get customized environment variable in last ended agent (using AWS Code commit Jenkins project)

我在 EKS 上部署 Jenkins,我的管道是:

pipeline {
    stage("build") {
        //start a agent "agent_label"
    }

    //Now, end that agent, for the reason of waiting for user input.

    stage("deploy") {
        //start the agent "agent_label"
    }
 
}

在“构建”阶段,我得到了git提交版本,我想在“部署”阶段使用它。因为代理终止,“构建”阶段的环境变量将不可用。那么如何解决呢?

我已经搜索过了。它说我应该使用“持久参数”。但是在我使用的“AWS 代码提交”的 Jenkins 项目类型上没有“持久参数”配置。我只在 Jenkins 项目类型“管道”上看到该配置。

另一种方法可能是将 Jenkins BUILD_NUMBER 更改为 git 提交版本。但是我不知道该怎么做。

提前致谢!

实际上,即使代理关闭并重新启动,该参数也可以持久化。例如,如果我在“构建”阶段设置了一个变量,我仍然可以在“部署”阶段获得它。

此外,要更改 Jenkins BUILD_NUMBER 环境变量,您可以使用 Build name setter plugin for Jenkins.