【Jenkins】在Pipeline和Ant中使用环境变量
一、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中使用环境变量相关推荐
- Ant in Action读书笔记(三):在Ant中导入环境变量
<property environment="env"/> <echo message="${env.ANT_HOME}"/> 能把所有 ...
- ANT安装与环境变量搭建教程(win7)
ANT安装与环境变量搭建教程(基于windows7) ANT安装与环境变量搭建教程基于windows7 一安装ant 二配置环境变量 进入环境变量配置界面 在系统变量中依次配置变量名和值如下表 三验证 ...
- 读取Node.js中的环境变量
有没有办法在Node.js代码中读取环境变量? 例如,例如Python的os.environ['HOME'] . #1楼 如果要使用在Node.js程序中生成的字符串键(例如var v = 'HOME ...
- 在docker镜像中加入环境变量
原文链接 前言 reference:https://vsupalov.com/docker-build-time-env-values/ 很多时候,我们需要在docker镜像中加入环境变量,本人了解的 ...
- Windows 中的环境变量 Path 与 XXXX_HOME 的区别
Windows 中的环境变量 Path 与 XXXX_HOME 的区别 XXXX_HOME Path 开发经常需要配置 Windows 中的环境变量,其中经常需要配置的环境变量有 Path.XXX ...
- Ubuntu中设置环境变量PATH
Ubuntu中设置环境变量PATH二种方法 时间:2008-11-06 00:00 来源:网管之家bitsCN.com 字体:[大 中 小] 目前在Ubuntu中有二种设置PATH环境变量的方法. 为 ...
- bootargs中的环境变量说明和一些常用的uboot命令
bootargs中的环境变量说明和一些常用的uboot命令 一些常见的uboot命令: Help [command]在屏幕上打印命令的说明 Boom [addr]启动在内存储器的内核 Tftpboot ...
- linux系统中变量,Linux系统中的环境变量知识详解
对于没有使用过linux系统的用户来说,有很多术语和功能都很陌生.本文就介绍了linux系统中的环境变量的相关知识,具体内容如下所述. linux是一个多用户的操作系统.每个用户登录系统后,都会有一个 ...
- linux查看本机所有预设的系统变量,如何设置与查看Linux系统中的环境变量?
大家都知道,在 Linux 系统中,有环境变量和 Shell 变量这两种变量. 环境变量是在程序及其子程序中全局可用的,常常用来储存像默认的文本编辑器或者浏览器,以及可执行文件的路径等等这样的信息.而 ...
- 中修改环境变量_Golang入门(1):安装与配置环境变量的意义
摘要 在几年前学习Java的时候,环境的配置就会劝退一部分的初学者.而对于Golang来说,也需要从环境的配置开始学起.这一篇文章将从如何安装Golang开始讲起,随后将会提到Golang中的环境变量 ...
最新文章
- docx.opc.exceptions.PackageNotFoundError: Package not found at ‘文件名.docx‘ 问题解决
- python读取excel一列-python读取excel(xlrd)
- 【图像分类】简述无监督图像分类发展现状
- 程序猿果真有前端后端client吗
- centos下php5.4.22连接mssql,IIS7.5配置php5.4.22链接sql2008(用PDO链接数据库)_PHP教程...
- Android 系统性能优化(37)---Android内存优化之一:MAT使用入门
- 最详细的java思维导图
- Java获取世界各国各城市代码_获取世界各国、全国省份、城市、县
- 一、网络知识 1.计算机网络原理
- Windows Terminal美化增强指南
- 电阻阻值标准以及选择参照表
- 罗翔老师转谈记录,不同认知出发//心之所向,素履以往,生如逆旅,一苇以航。
- 计算机计时器原理,定时器和计数器-微机原理与接口技术.DOC
- AI 助力智慧城市发展 | 腾讯视觉峰会回顾
- 联想拯救者y7000电池耗电快_联想拯救者Y7000游戏本测评之温度、续航双测评
- 前端手把手教你js实现附件预览和下载得功能实现
- 1:Android Studio开发蓝牙上位机--环境搭建
- 串行RapidIO(Serial RapidIO,SRIO):协议介绍
- 它们改变了整个世界 盘点50个最伟大的游戏创意
- Android项目模拟器提示:Unfortunately,XXX has stopped?