一、Pipeline中环境变量

环境变量包括 系统环境变量自定义环境变量

系统环境变量

就是Jenkins自带的变量,他的使用范围是全局,如 BUILD_NUMBER,BUILD_URL等,使用格式为

${env.BUILD_NUMBER}
{env.BUILD_NUMBER}
${BUILD_NUMBER}

推荐使用 ${env.BUILD_NUMBER}{env.BUILD_NUMBER}这种格式,因为带前缀env能表明这是系统环境变量,可以和后面的自定义环境变量区分开。注意,如果是在script块引用到,就只需env.BUILD_NUMBER这种格式

自定义环境变量

使用environment{}可以自定义变量,可以是全局,也可以是局部,例如自定义变量 TEST_NAME,使用格式为

${TEST_NAME}
{TEST_NAME}

注意,如果是在script块引用到,就只需TEST_NAME这种格式

具体使用代码可以参考以下例子

pipeline {agent any// 参数化的变量parameters {string(defaultValue: "chao9441/variable_test", description: 'branch name', name: 'Branch_Name')}// 自定义全局环境变量, 作用域是全局environment{DIRNAME = " "}stages {stage('Stage 1') {steps {script{def name1 = env.Branch_Name // 和 def name1 = params.Branch_Name效果一致def name2 = name1.replaceAll("/","_")DIRNAME = name2println("name1":name1) // 输出 chao9441/variable_testprintln("name2":name2) // 输出 chao9441_variable_testprintln("env.DIRNAME":DIRNAME) // 输出 chao9441_variable_test}}}// 在另一个stage中使用自定义全局环境变量stage('Stage 2') {steps {echo "${env.DIRNAME}"}}stage('Stage 3') {// 作用域是stage 3environment{PART = "AAA"}steps {echo "${env.PART}"}}}
}

二、Ant中环境变量

在Pipeline中使用Ant脚本,然后传递系统变量

     stage('1. Reset Branch Name'){steps{script{def name1 = env.Branch_Namedef name2 = name1.replaceAll("/","_")env.Branch_Name = name2.replaceAll("#","issue")                    println("env.Branch_Name":env.Branch_Name) }}}stage('2. Copy Build to VM-3D-DATA via Ant') {        steps {          script{echo "${env.Branch_Name}"git credentialsId: '039d7901-4fa2-4056-85db-3aa09912a2c7', url: 'git@devtopia.esri.com:chao9441/bat-scripts.git'bat label: '', script: 'ant -buildfile %WORKSPACE%\\Jenkins\\Setup_Stage\\stage_earth.xml'}}}    }

如果在Ant的xml文件中想要引用Pipeline中的环境变量,需要特殊引用,格式类似如下

<project name="ARCGISEARTH_WIN" basedir="." default="build"><property environment="env"/><property file="common_stage.properties"/><property name="dir_name" value="${env.Branch_Name}"/>
</project>

注意,Ant的xml文件似乎只能引用系统环境变量,而自定义的环境变量不起作用

【Jenkins】在Pipeline和Ant中使用环境变量相关推荐

  1. Ant in Action读书笔记(三):在Ant中导入环境变量

    <property environment="env"/> <echo message="${env.ANT_HOME}"/> 能把所有 ...

  2. ANT安装与环境变量搭建教程(win7)

    ANT安装与环境变量搭建教程(基于windows7) ANT安装与环境变量搭建教程基于windows7 一安装ant 二配置环境变量 进入环境变量配置界面 在系统变量中依次配置变量名和值如下表 三验证 ...

  3. 读取Node.js中的环境变量

    有没有办法在Node.js代码中读取环境变量? 例如,例如Python的os.environ['HOME'] . #1楼 如果要使用在Node.js程序中生成的字符串键(例如var v = 'HOME ...

  4. 在docker镜像中加入环境变量

    原文链接 前言 reference:https://vsupalov.com/docker-build-time-env-values/ 很多时候,我们需要在docker镜像中加入环境变量,本人了解的 ...

  5. Windows 中的环境变量 Path 与 XXXX_HOME 的区别

    Windows 中的环境变量 Path 与 XXXX_HOME 的区别 XXXX_HOME Path   开发经常需要配置 Windows 中的环境变量,其中经常需要配置的环境变量有 Path.XXX ...

  6. Ubuntu中设置环境变量PATH

    Ubuntu中设置环境变量PATH二种方法 时间:2008-11-06 00:00 来源:网管之家bitsCN.com 字体:[大 中 小] 目前在Ubuntu中有二种设置PATH环境变量的方法. 为 ...

  7. bootargs中的环境变量说明和一些常用的uboot命令

    bootargs中的环境变量说明和一些常用的uboot命令 一些常见的uboot命令: Help [command]在屏幕上打印命令的说明 Boom [addr]启动在内存储器的内核 Tftpboot ...

  8. linux系统中变量,Linux系统中的环境变量知识详解

    对于没有使用过linux系统的用户来说,有很多术语和功能都很陌生.本文就介绍了linux系统中的环境变量的相关知识,具体内容如下所述. linux是一个多用户的操作系统.每个用户登录系统后,都会有一个 ...

  9. linux查看本机所有预设的系统变量,如何设置与查看Linux系统中的环境变量?

    大家都知道,在 Linux 系统中,有环境变量和 Shell 变量这两种变量. 环境变量是在程序及其子程序中全局可用的,常常用来储存像默认的文本编辑器或者浏览器,以及可执行文件的路径等等这样的信息.而 ...

  10. 中修改环境变量_Golang入门(1):安装与配置环境变量的意义

    摘要 在几年前学习Java的时候,环境的配置就会劝退一部分的初学者.而对于Golang来说,也需要从环境的配置开始学起.这一篇文章将从如何安装Golang开始讲起,随后将会提到Golang中的环境变量 ...

最新文章

  1. docx.opc.exceptions.PackageNotFoundError: Package not found at ‘文件名.docx‘ 问题解决
  2. python读取excel一列-python读取excel(xlrd)
  3. 【图像分类】简述无监督图像分类发展现状
  4. 程序猿果真有前端后端client吗
  5. centos下php5.4.22连接mssql,IIS7.5配置php5.4.22链接sql2008(用PDO链接数据库)_PHP教程...
  6. Android 系统性能优化(37)---Android内存优化之一:MAT使用入门
  7. 最详细的java思维导图
  8. Java获取世界各国各城市代码_获取世界各国、全国省份、城市、县
  9. 一、网络知识 1.计算机网络原理
  10. Windows Terminal美化增强指南
  11. 电阻阻值标准以及选择参照表
  12. 罗翔老师转谈记录,不同认知出发//心之所向,素履以往,生如逆旅,一苇以航。
  13. 计算机计时器原理,定时器和计数器-微机原理与接口技术.DOC
  14. AI 助力智慧城市发展 | 腾讯视觉峰会回顾
  15. 联想拯救者y7000电池耗电快_联想拯救者Y7000游戏本测评之温度、续航双测评
  16. 前端手把手教你js实现附件预览和下载得功能实现
  17. 1:Android Studio开发蓝牙上位机--环境搭建
  18. 串行RapidIO(Serial RapidIO,SRIO):协议介绍
  19. 它们改变了整个世界 盘点50个最伟大的游戏创意
  20. Android项目模拟器提示:Unfortunately,XXX has stopped?

热门文章

  1. 基于SSH的医药管理系统
  2. 【CRC】CRC推导(二)模二除法
  3. python详细教程#2下载python
  4. 微信小程序tabbar消失_微信小程序tabbar不显示解决办法
  5. 一篇文章带你大致了解5G关键技术、协议架构、网络优化覆盖、业务测试与验证
  6. dell3900机型安装xp64位操作系统
  7. 结构专业规范大全_监理签字用语规范大全,就是这么专业!
  8. MD5介绍以及如何破解MD5算法
  9. c语言 16 16 字库,16位汉字显示屏的字库软件(点阵字库)
  10. 向量场的散度和旋度_矢量场散度和旋度的物理意义