未在并发构建中定义的WOKRSPACE值

时间:2018-11-05 14:30:53

标签: git maven jenkins jenkins-pipeline

方案:2个构建同时运行。该配置被设置为允许并发构建。

我正在寻找最可能的发现原因,即WORKSPACE变量似乎可用,因此项目的克隆起作用。以后发生的任何构建 似乎提供了值********而不是分配给WORKSPACE变量的值。

请阅读以获取详细信息。

内部版本1

实例化的第一个构建包含git克隆项目的正确路径: 从git clone --branch开始查看命令。

日志

[INFO]执行中:/ bin / sh -c cd / var / lib / jenkins / jobs / myapp-build-job / workspace / target && git clone --branch app-00.00.00.002 file:/// var / lib / jenkins / jobs / myapp-build-job / workspace / var / lib / jenkins / jobs / myapp-build-job / workspace / target / checkout

内部版本2

在以下日志中发现的问题: 向前查看命令git clone --branch,注意其中的星号。 WORKSPACE是詹金斯(Jenkins)提供的变量,在我看来,这份工作的价值为/var/lib/jenkins/jobs/myapp-build-job/workspace

如果使用分配给WORKSPACE变量的值将下面日志中的*******替换为/var/lib/jenkins/jobs/myapp-build-job/workspace@2/target/checkout。这将是项目应克隆到的corrct目录。 因此,不会发生该错误。

日志

[INFO]执行中:/ bin / sh -c cd / var / lib / jenkins / jobs / myapp-build-job / workspace @ 2 / target && git clone --branch app-00.00.00.002文件:** ****** @ 2 / target / checkout

[错误]无法在项目应用程序上执行目标org.apache.maven.plugins:maven-release-plugin:2.5.3:perform(default-cli):无法执行本地签出-> [帮助1]

1 个答案:

答案 0 :(得分:0)

我最初认为这可能与詹金斯不将变量注入后续版本有关。

脱发很多之后,我发现@符号是默认的分隔符,当包含在路径中时,它不会被转义。这就是为什么我看到****

解决方案

更改默认的分隔符值。

如何?

在jenkins服务器上, debian:打开文件/etc/default/jenkins RHEL:打开文件/etc/sysconfig/jenkins

找到变量JENKINS_JAVA_OPTIONS

向其中添加以下内容-Dhudson.slaves.WorkspaceList=SomeSeperatingName

当然,SomeSeperatingName可以是您想要的任何东西。只是不需要逃脱的角色

然后,重新启动詹金斯

相关问题