本文的目的是介绍使用WindowsBatchCommand在Jenkins中如何使用环境变量?的详细情况,特别关注jenkinsfile环境变量的相关信息。我们将通过专业的研究、有关数据的分析等多种方
本文的目的是介绍使用Windows Batch Command在Jenkins中如何使用环境变量?的详细情况,特别关注jenkinsfile 环境变量的相关信息。我们将通过专业的研究、有关数据的分析等多种方式,为您呈现一个全面的了解使用Windows Batch Command在Jenkins中如何使用环境变量?的机会,同时也不会遗漏关于bash – 如何在shell脚本中使用Jenkins环境变量?、Centos中使用Jenkins执行gulp命令:command not found、Jenkins - 使用环境变量定义 json、jenkins 2运行maven构build在Linux或Windows上的知识。
本文目录一览:- 使用Windows Batch Command在Jenkins中如何使用环境变量?(jenkinsfile 环境变量)
- bash – 如何在shell脚本中使用Jenkins环境变量?
- Centos中使用Jenkins执行gulp命令:command not found
- Jenkins - 使用环境变量定义 json
- jenkins 2运行maven构build在Linux或Windows上
使用Windows Batch Command在Jenkins中如何使用环境变量?(jenkinsfile 环境变量)
我正在尝试在xcopy脚本中使用 Jenkins(全局)环境变量 。
${WORKSPACE} doesn''t work"${WORKSPACE}" doesn''t work''${WORKSPACE}'' doesn''t work
答案1
小编典典我对Jenkins一无所知,但似乎您正在尝试使用某种形式的Unix语法访问环境变量-无法正常工作。
如果变量的名称为WORKSPACE,则在Windows批处理中使用扩展该值%WORKSPACE%
。这种扩展形式是在解析时执行的。例如,这将打印以筛选WORKSPACE的值
echo %WORKSPACE%
如果在执行时需要该值,则需要使用延迟扩展!WORKSPACE!
。默认情况下,通常不启用延迟扩展。使用SETLOCALEnableDelayedExpansion
来启用它。通常需要延迟扩展,因为括号,和/或由&
,&&
或串联的多个命令中的代码块会||
一次全部解析,因此,除非您使用延迟扩展,否则以后无法读取同一块中分配的值。
setlocal enableDelayedExpansionset WORKSPACE=BEFORE( set WORKSPACE=AFTER echo Normal Expansion = %WORKSPACE% echo Delayed Expansion = !WORKSPACE!)
上面的输出是
Normal Expansion = BEFOREDelayed Expansion = AFTER
使用HELP SET
或SET /?
从命令行获取有关Windows环境变量和各种扩展选项的更多信息。例如,它说明了如何执行搜索/替换和子字符串操作。
bash – 如何在shell脚本中使用Jenkins环境变量?
sed -i 's/Version 3.0/Version $BUILD_disPLAY_NAME/g' /var/lib/jenkins/jobs/AndroidTest/workspace/xxx/res/values/strings.xml
为什么这不工作?我假设我可以直接使用它们
谢谢!
sed -i "s/Version 3.0/Version $BUILD_disPLAY_NAME/g" /var/lib/jenkins/jobs/AndroidTest/workspace/xxx/res/values/strings.xml
Centos中使用Jenkins执行gulp命令:command not found
在Centos操作系统,使用Jenkins的pipeline执行发布流程:jenkinsfile如下:
stage("前端项目构架gulp") { steps { dir(‘src/Cis.Mr.Web/‘){ sh ‘gulp min‘ } } }
构建过程报错:信息如下:
[Cis.Mr.Web] Running shell script + gulp /var/lib/jenkins/workspace/FutureMr/src/[email protected]/durable-da17238c/script.sh: line 2: gulp: command not found
在centos下gulp是可以运行的,但是在jenkins的运行环境中就不行,这个问题困扰了我两天,最后还是度娘拯救了我(别总说百度怎么地怎么地,还是有帮助的,虽然我也常用google)
解决方案如下:
stage("前端项目构架gulp") { steps { dir(‘src/Cis.Mr.Web/‘){ sh ‘export PATH=$PATH:/usr/local/bin && gulp min‘ } } }
在此特感谢那些那些默默分享的同行们。
Jenkins - 使用环境变量定义 json
你可以这样做,但它会是deployed_branch.json文件中的JSON字符串(带有字符串内容的JSON文件)
stage('create a JSON ') {
environment {
SOME_ENV_VARS = '{\"branch\":\"$WORKSPACE\"}'
}
steps {
sh """
echo $SOME_ENV_VARS > deployed_branch.json
"""
}
}
它可以像这样做得更好:
脚本化管道
node {
stage('any') {
def myJSON = readJSON text: '{}'
myJSON.branch = "${env.WORKSPACE}" as String
writeJSON file: "${WORKSPACE}/x.json",json: myJSON
}
}
声明式管道
pipeline {
agent any;
stages {
stage('create a JSON ') {
steps {
script {
def myJSON = readJSON text: '{}'
myJSON.branch = "${env.WORKSPACE}" as String
writeJSON file: "${WORKSPACE}/x.json",json: myJSON
}
}
}
}
}
注意 - 它需要 Jenkins Utility Pluigns
jenkins 2运行maven构build在Linux或Windows上
我有一个Java应用程序的maven版本,可以通过键入相同的命令'mvn install'在Linux或Windows上成功运行。
但是,使用Jenkinsfile的方法来设置这个版本,在Linux上这个文件需要包含sh mvn install和windows bat mvn install 。
如果在Windows上正确configurationpath和工具,日志将显示:
[Pipeline] sh [C:toolsjenkinsworkspaceDSLmaster] Running shell script sh: C:toolsjenkinsworkspaceDSLmaster@tmpdurable-60527040script.sh: command not found
从日志文件追加新的数据到另一个文件
在windows上执行git-hooks出错
Git bash保持自动滚动到窗口的底部
安装Mercurial Activity扩展的问题
在Windows中使用C的睡眠function
有没有办法让一个Jenkinsfile允许在两种环境中构build?
如何在MS Windows下使用Git忽略obj文件夹
更改分辨率后安排窗口
如何通过Ant build.xml文件将war文件发送到Windows机器位置
下载QT静态生成窗口
GetTickCount在系统上运行超过49天
管道脚本可以包含groovy代码,所以允许使用if分支。 你可以使用System.properties['os.name']测试你的环境,根据结果使用sh或者bat :
node { def os = System.properties['os.name'].toLowerCase() echo "OS: ${os}" if (os.contains("linux")) { sh "mvn install" } else { bat "mvn install" } }
今天的关于使用Windows Batch Command在Jenkins中如何使用环境变量?和jenkinsfile 环境变量的分享已经结束,谢谢您的关注,如果想了解更多关于bash – 如何在shell脚本中使用Jenkins环境变量?、Centos中使用Jenkins执行gulp命令:command not found、Jenkins - 使用环境变量定义 json、jenkins 2运行maven构build在Linux或Windows上的相关知识,请在本站进行查询。
本文标签: