Jenkins pipeline Process工作目录“/var/lib/jenkins/workspace/doesn 't exist”中的错误怎么办< yourpipelinenamehere>

ej83mcc0  于 12个月前  发布在  Jenkins
关注(0)|答案(1)|浏览(248)

我发现这个问题在不同的地方以不同的形式被问到,甚至我自己也反对这个问题。我相信我已经找到了解决方案,在这种情况下,我遇到了这一点,我很好奇,如果它帮助其他人谁类似地遇到这一点。
我发现要做的事情的简短答案是,将管道的第一阶段设置为具有创建工作区的逻辑的已知模块。即:

pipeline {
    agent any
    stages {
        stage('Opening Workspace') {
           steps {
               script {
                   def date = new Date()
                   def data = "I am arbitrary text\nSecond line\n" + 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。
第二个问题是,有没有人有一个更优雅的解决方案?

wh6knrhe

wh6knrhe1#

1.创建文件夹/var/lib/jenkins/workspace/projectname
1.将文件夹的所有权更改为jenkins用户
1.在步骤块中添加行sh 'cd /var/lib/jenkins/workspace/projectname',即
steps { sh 'cd /var/lib/jenkins/workspace/projectname' script { .................安装jenkins后第一次运行管道时执行此操作,之后无需执行此操作

相关问题