当前位置: 首页 > 知识库问答 >
问题:

Jenkins管道步骤withEnv在没有BASH的情况下无法工作

蒋权
2023-03-14

当我在Jenkins从属上运行以下代码段时,它可以工作。但是当它在没有BASH的docker容器中执行时,就不会设置“$test”。

 withEnv(["test='asd'"]){
      sh 'echo $test'
 }

https://jenkins.io/doc/pipeline/steps/workflow-basic-steps/#code-withenv-code-set-environment-variables

共有1个答案

司空鸿禧
2023-03-14

如果我没有搞错的话,我相信变量没有设置正确。

试试看:

withEnv(["test=asd"]){
      sh "echo \$test"
 }

在Jenkins管道中:

$var = Groovy parameter
\$var (within a sh closure) = Bash parameter
${var} = also refers to Groovy parameter
sh ("VAR=${GROOVY_VAR}")
sh (" echo \$BASH_VAR")
 类似资料:
  • 问题内容: 如果我正确理解,则可以使用此插件使构建步骤成为条件:https : //wiki.jenkins- ci.org/display/JENKINS/Conditional+BuildStep+Plugin 首先,此插件是否可以执行“构建后”步骤?其次,有没有一种方法可以在没有插件的情况下使后构建步骤成为条件? 我采用的方案是,通过一个通用的Jenkins Job设置支持WebDriver

  • 我是函数式编程新手,我正在努力变得更好。 目前,我正在试验一些代码,采用以下基本形式: 首先,使用hashmap获取列表中每个数字的频率。下一步,我们总结出地图中作为键存在的键的数量。 我不喜欢的是,这两个流需要彼此分开存在,其中一个HashMap是由一个流生成的,只会被另一个流立即独占地使用。 有没有一种方法可以将其合并为一个流?我是这样想的: 但这里的问题是没有可参考的freq map,因为它

  • 我正在尝试在没有项目编写器的情况下使用下面的配置来配置spring批处理步骤。然而,我错误地说writer元素既没有'writer'属性,也没有元素。 我浏览了链接spring批处理:没有ItemWriter的Tasklet。但无法解决问题。有人能告诉我在我提到的代码片段中要做的具体更改吗

  • 我试着去看其他的代码例子,但是它们和我的代码比较相似,但是我的应用程序仍然会因为同样的错误而崩溃。 这是我使用firebase文档的指导方针编写的代码: 上面的代码正在将otp发送到给定的号码,但是它崩溃了,并且cat-log显示了上面提到的错误。

  • 我面临的问题在我的泽西岛邮政API当我没有发送内容长度从邮递员。 我们知道,默认情况下,postman发送的是content-length(隐藏的头),但我不发送。 2020-12-09 14:51:36.951错误27356---[nio-8082-exec-1]O.A.C.C.C.[.[.[/].[dispatcherServlet]:servlet[dispatcherServlet]的se