栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

在詹金斯阶段之间传递变量

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

在詹金斯阶段之间传递变量

代码中的问题是您正在

sh
步骤中分配环境变量的版本。此步骤将在其自己的隔离流程中执行,并继承父流程环境变量。

但是,将数据传递回父级的唯一方法是通过

STDOUT/STDERR
或退出代码。当您需要一个字符串值时,最好从
sh
步骤中回显版本并将其分配给
script
上下文中的变量。

如果您重复使用该节点,则脚本上下文将持久存在,并且变量将在后续阶段中可用。下面是一个工作示例。请注意,任何将其放在一个

parallel
块中的尝试都可能会失败,因为版本信息变量可以由多个进程写入。

#!/usr/bin/env groovypipeline {    environment {        AGENT_INFO = ''    }    agent {        docker { image 'alpine' reuseNode true        }    }    stages {        stage('Collect agent info'){ steps {     echo "Current agent  info: ${env.AGENT_INFO}"     script {         def agentInfo = sh script:'uname -a', returnStdout: true         println "Agent info within script: ${agentInfo}"         AGENT_INFO = agentInfo.replace("/n", "")         env.AGENT_INFO = AGENT_INFO     } }        }        stage("Print agent info"){ steps {     script {         echo "Collected agent info: ${AGENT_INFO}"         echo "Environment agent info: ${env.AGENT_INFO}"     } }        }    }}


转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/616638.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号