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

问题描述

我在 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 commit 版本,我想在“部署”阶段使用它。由于代理终止,“构建”阶段的环境变量将不可用。那么如何解决呢?

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

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

提前致谢!

标签: gitjenkinsjenkins-pipelineamazon-eksaws-codecommit

解决方案


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

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


推荐阅读