GVKun编程网logo

使用Windows Batch Command在Jenkins中如何使用环境变量?(jenkinsfile 环境变量)

8

本文的目的是介绍使用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 环境变量)

使用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 SETSET /?从命令行获取有关Windows环境变量和各种扩展选项的更多信息。例如,它说明了如何执行搜索/替换和子字符串操作。

bash – 如何在shell脚本中使用Jenkins环境变量?

bash – 如何在shell脚本中使用Jenkins环境变量?

我想用jenkins build#更新一个 java文件.我打算使用一个shell脚本将该值调到正确的build#.我正在这样做:
sed -i 's/Version 3.0/Version $BUILD_disPLAY_NAME/g'
/var/lib/jenkins/jobs/AndroidTest/workspace/xxx/res/values/strings.xml

为什么这不工作?我假设我可以直接使用它们

谢谢!

正如 shellcheck会告诉你的,扩展不会发生在单引号中.改为使用双引号:
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执行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

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上

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上的相关知识,请在本站进行查询。

本文标签: