git - 在同一 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 版本。但我不知道该怎么做。
提前致谢!
解决方案
实际上,即使代理关闭并重新启动,该参数也可以保持不变。例如,如果我在“构建”阶段设置了一个变量,我仍然可以在“部署”阶段获得它。
此外,要更改 Jenkins BUILD_NUMBER 环境变量,您可以使用Build name setter plugin for Jenkins。
推荐阅读
- python - Python - 拆分成字母而不是单词
- angular - 在 Angular 9 中,是什么导致无法从组件更改服务变量的值?
- browser - 为什么 TOR 网络会显示我的位置
- python-3.x - Python Pywinauto 基于某个类名的存在检测窗口
- android - 加载约 500 段和选项的最佳方式
- c# - 在实体框架中更新多对多关系中的记录
- docker - Py4JJavaError:调用 o45.load 时出错。:java.lang.NoClassDefFoundError:org/apache/spark/sql/sources/v2/StreamWriteSupport
- android - Android 的 Logcat 在 tmpfs 上使用 selinux avc 拒绝发送垃圾邮件,由 kworker/kernel 键入 1400
- python - 使用 Python 将混合列中的 GB 复杂转换为 TB
- amazon-sns - EventBridge 消息未发布到 SNS