当前位置: 首页 > news >正文

windows 版本Jenkins的Jenkinsfile中共享变量

场景

jenkins部署在windows服务器上的,需要在Jenkinsfile中获取命令执行的结果存入一个变量,然后在后续的执行中使用此变量
一开始想的是定义一个环境变量,如下所示,

pipeline {agent anystages {stage('test') {steps {bat 'for /f %%i in (\'pipenv --version\') do ( set env=%%i)' //把pipenv --venv的执行结果给变量envbat 'echo %env%'}   }}
}

注意: windows上执行结果赋值给变量,如果在控制台是for /f %i in ('pipenv --venv') do ( set env=%i), 在批处理文件中是for /f %%i in ('pipenv --venv') do ( set env=%%i)
但是发现不存在变量env, 然后把命令中的set替换成setx,然后Jenkins服务器上查看变量env设置成功了,但是执行输出还是空, 重启一下服务器就能获取到此变量,这种不满足我的需求然后尝试后面的方法

方法一

通过script来设置变量

pipeline {agent anystages {stage('test') {steps {script{ result = bat(script:' where pipenv', returnStdout:true).trim()echo "${result}"}   }}
}

通过以上方式获得的result结果是C:\Users\Administrator\.jenkins\workspace\test>where pipenv D:\Python\Python312\Scripts\pipenv.exe, 结果中包含了执行命令,也不满足需求

方法二

执行结果存文件, 验证virtural_env的值即命令执行的输出,满足需求

pipeline {agent anystages {stage('run') {steps {bat ' pipenv --venv>virtural_path'  //执行结果存入virtural_pathscript {virtural_env = readFile('virtural_path').trim()    //执行结果赋值给 virtural_env}bat """${virtural_env}/Scripts/activate.bat """  //"""${virtural_env}"""引用变量}}
}

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • 数据结构--第七天
  • 【AI绘图】基于Midjourney开发的AI绘画平台,对中文很友好!
  • Ubuntu文件操作(压缩与解压缩、用户组管理、权限)
  • 鸿蒙应用服务开发【华为支付服务】客户端
  • 剖析算法内部结构----------贪心算法
  • Arduino编译时出现extra tokens at end of #ifndef directive
  • 智能输电线路防外破监测装置:监控线行下施工保持安全距离
  • 一个简单的录音软件(利用QT录音,ffmpeg进行音频重采样,fdk-aac编码)
  • Qt 串口通信(C++)
  • 自动化报表实践小结
  • JVM 加载阶段 Class对象加载位置是在 堆中还是方法区?
  • docker代理
  • Llama 3.1论文中文对照翻译
  • 代码随想录算法训练营Day35 | 01背包问题 | 416. 分割等和子集
  • FFMPEG 序列帧图片合成视频
  • 30秒的PHP代码片段(1)数组 - Array
  • express.js的介绍及使用
  • iOS小技巧之UIImagePickerController实现头像选择
  • JS函数式编程 数组部分风格 ES6版
  • mysql外键的使用
  • nginx(二):进阶配置介绍--rewrite用法,压缩,https虚拟主机等
  • PAT A1092
  • Promise初体验
  • Python3爬取英雄联盟英雄皮肤大图
  • Stream流与Lambda表达式(三) 静态工厂类Collectors
  • tensorflow学习笔记3——MNIST应用篇
  • thinkphp5.1 easywechat4 微信第三方开放平台
  • Vue2 SSR 的优化之旅
  • vue-cli3搭建项目
  • 阿里云前端周刊 - 第 26 期
  • 回流、重绘及其优化
  • 计算机在识别图像时“看到”了什么?
  • 开发基于以太坊智能合约的DApp
  • 开源地图数据可视化库——mapnik
  • 入门级的git使用指北
  • 深入浅出webpack学习(1)--核心概念
  • 小李飞刀:SQL题目刷起来!
  • 用 vue 组件自定义 v-model, 实现一个 Tab 组件。
  • media数据库操作,可以进行增删改查,实现回收站,隐私照片功能 SharedPreferences存储地址:
  • Java性能优化之JVM GC(垃圾回收机制)
  • 回归生活:清理微信公众号
  • ​TypeScript都不会用,也敢说会前端?
  • # 执行时间 统计mysql_一文说尽 MySQL 优化原理
  • #[Composer学习笔记]Part1:安装composer并通过composer创建一个项目
  • (第三期)书生大模型实战营——InternVL(冷笑话大师)部署微调实践
  • (附源码)springboot金融新闻信息服务系统 毕业设计651450
  • (附源码)计算机毕业设计SSM保险客户管理系统
  • (牛客腾讯思维编程题)编码编码分组打印下标(java 版本+ C版本)
  • (贪心) LeetCode 45. 跳跃游戏 II
  • (五) 一起学 Unix 环境高级编程 (APUE) 之 进程环境
  • *** 2003
  • ***通过什么方式***网吧
  • .bat批处理(七):PC端从手机内复制文件到本地
  • .mkp勒索病毒解密方法|勒索病毒解决|勒索病毒恢复|数据库修复
  • .mysql secret在哪_MYSQL基本操作(上)