gpt4 book ai didi

linux - Jenkins 管道 sh 步骤失败

转载 作者:太空宇宙 更新时间:2023-11-04 10:19:08 25 4
gpt4 key购买 nike

我正在学习 Jenkins Pipelines,我正在尝试在 Linux 构建服务器上执行任何操作,但我收到有关无法创建文件夹的错误消息。

这是管道代码

node('server') { 
stage("Build-Release-Linux64-${NODE_NAME}") {
def ws = pwd()
sh "ls -lha ${ws}"
}
}

这是我得到的错误:

sh: 1: cannot create /opt/perforce/workspace/Dels-Testing-Area/MyStream-main@tmp/durable-07c26e68/pid; jsc=durable-8c9234a2eb6c2feded950bac03c8147a;JENKINS_SERVER_COOKIE=$jsc /opt/perforce/workspace/Dels-Testing-Area/MyStream-main@tmp/durable-07c26e68/script.sh: Directory nonexistent

我在运行时检查了服务器,我可以看到它确实创建了文件“/opt/perforce/workspace/Dels-Testing-Area/MyStream-main@tmp/durable-07c26e68/script.sh”

该文件包含以下内容,由 Jenkins 而不是我创建:

#!/bin/sh -xe

无论我尝试使用 sh 步骤执行什么,我都会得到同样的错误。

谁能解释一下为什么会这样?

-=更新=-

我目前使用的是 Jenkins 2.46.2 LTS,并且有许多更新可用。我将等待一段时间并执行完整更新,然后再试一次,以防它修复任何问题。

最佳答案

我发现问题是因为我的文件夹名称中有一个单引号。一旦我删除单引号,它就会完美运行。这也链接到这个 Jenkins 问题 [ https://issues.jenkins-ci.org/browse/JENKINS-44341]我在其中添加了评论并投票赞成修复。

因此解决方法是,在文件夹和作业名称 [0-9a-zA-Z_-] 中仅使用以下字符,不包括方括号,并且不要使用空格。

我可以确认在文件夹配置的“显示名称”字段中使用特殊字符和空格可以正常工作。

关于linux - Jenkins 管道 sh 步骤失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44655715/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com