防止Jenkins管道命令在不同的shell中执行

时间:2017-03-06 11:47:16

标签: git shell maven jenkins jenkins-pipeline

我的Jenkins管道脚本中有以下代码:

sh("alias git='/my/file/path/libexec/git-core/git'")
mvn "-e -X release:prepare"

第二行正在调用git,但它失败了:

The git-tag command failed.
Command output:
/bin/sh: git: command not found
Caused by: org.apache.maven.plugin.MojoFailureException: Unable to tag SCM

这不应该发生,因为我先把它别名化。

我怀疑这些陈述是以不同的方式运行的。

这是真的吗? 在这种情况下,我该如何防止这种情况?

1 个答案:

答案 0 :(得分:1)

不确定脚本中是什么mvn(管道中没有内置的Maven函数),但我认为你想要这样的东西:

sh '''
  export PATH=$PATH:/my/file/path/libexec/git-core/git
  mvn -e -X release:prepare
'''