jenkins - 将变量传递给詹金斯管道中的顺序阶段
问题描述
我有一个 Jenkins 顺序分阶段管道,如下所示。我想将地图(类似于 def return_map = [:])从第一个顺序阶段传递到另一个顺序阶段(1 到 2) 这是我正在使用的代码。
def stepsToRun = [:]
pipeline {
agent none
stages {
stage ("Prepare Stages"){
steps {
script {
build_script = load '/home/ubuntu/Documents/build-image.groovy'
for (int i = 1; i < 5; i++) {
stepsToRun["Step${i}"] = prepareStage("Step${i}")
}
parallel stepsToRun
}
}
}
}
}
def prepareStage(def name) {
return {
stage (name) {
stage("1") {
def return_map = build_script.image_build_handler(var1,var2,var3)
}
stage("2") {
build_script.push_images(return_map)
}
}
}
}
我想将 return_map 传递给我尝试过的下一个阶段(stage2)。但它没有用。
解决方案
你可以这样试试:
def prepareStage(def name) {
return {
stage (name) {
stage("1") {
def return_var = build_script.image_build_handler(var1,var2,var3)
env.return_var = return_var
}
stage("2") {
build_script.push_images(env.return_var)
}
}
}
}
推荐阅读
- reactjs - Incorrect Typing of React Hook with Firestore
- tooltip - 动态更新 Material UI 工具提示的标题组件
- c# - 将字节数组解析为结构
- typescript - 如何使用 Typescript 编写具有可迭代约束的泛型类型
- multithreading - 异步线程从单个源读取,循环样式,并写入单个目标,按顺序
- java - 如何获取丢弃的图像 x 和 y 坐标?
- python - 如何对 groupby 结果的第一个值求和并将其写为相关组中的 df 列
- c - Matlab 中的 mxArrayToString() 函数
- regex - 当在整个字符串中找不到特定单词时如何获得不“命中”?
- ios - iOS 13 中的 UISearchBar 在关闭 (x) 按钮旁边有一个小黑点