如何处理 Jenkins 管道中的错误进程工作目录 '/var/lib/jenkins/workspace/<yourpipelinenamehere> 不存在



我发现这个问题在不同的地方以不同的形式被问到,甚至我自己也在与之抗争。我相信我已经找到了解决方案,在这种情况下,我遇到了这个问题,我很好奇它是否有助于其他人同样遇到这个问题。

我发现要做的简短答案是,将管道的第一阶段设置为具有创建工作区逻辑的已知模块。即:

pipeline {
agent any
stages {
stage('Opening Workspace') {
steps {
script {
def date = new Date()
def data = "I am arbitrary textnSecond linen" + date
writeFile(file: 'workspacecreated.txt', text: data)
sh "ls -l"
}
}
}
stage('alltherest') {
<< the rest of your steps and end of your pipeline to paste here>> 

在我的战斗中,我的第一阶段是ansiblePlaybook(),事实证明……似乎没有尝试创建这个工作空间。我已将此作为jenkins针对ansible插件的bug提交。

第一个问题是,如果你在jenkins中遇到这个错误信息,设置第一步writefile对你有帮助吗?如果有,你最初的第一步是什么?也许你应该把第一步插件未能为自己创建一个工作空间作为一个bug发布给jenkins。

第二个问题是,有人有更优雅的解决方案吗?

  1. 创建文件夹/var/lib/jenkins/workspace/projectname
  2. 将文件夹的所有权更改为jenkins user
  3. 在步骤块中添加sh 'cd /var/lib/jenkins/workspace/projectname'行,即

steps { sh 'cd /var/lib/jenkins/workspace/projectname' script { .................在安装jenkins后第一次运行管道时执行此操作,之后就不需要执行此操作了

相关内容