首页 > 解决方案 > 看不到 `/var/jenkins_home/workspace` 目录

问题描述

我已经像这样启动了一个詹金斯容器:

docker run -u $(id -u) -dit -p 49001:8080 -v "$(pwd)/jenkins_home":/var/jenkins_home --name jenkins jenkins/jenkins:latest

这基本上是启动和容器,我能够运行我的管道。我创建了一个非常简单的管道,如下所示:

pipeline {
  agent any
  
  stages {
     stage('Hello') {
       steps {
          input message: 'Do you want to proceed', ok: 'Yes'
       }
     }
  }
}

当我运行管道时,我看到此管道的以下控制台输出:

Running on Jenkins in /var/jenkins_home/workspace/first_pipeline
...
Do you wnat to proceed
Yes or Abort

我让管道挂在那里但没有提供输入并进入检查 docker 容器内的工作区目录,但我没有看到workspace里面的任何子目录/var/jenkins_home

任何想法为什么会发生这种情况?

标签: dockerjenkinsjenkins-pipeline

解决方案


事实证明,这个问题正是@Ian W上面评论中提到的。如果我更新管道以实际创建文件,那么我可以看到正在创建的工作区。这是更新的管道:

pipeline {
    agent any

    stages {
        stage('Hello') {
            steps {
                writeFile(file: "test.txt", text: "Main workspace")
                dir(pwd(tmp: true)) {
                    writeFile(file: "test.txt", text: "Temporary workspace")
                }
                input message: 'Do you want to proceed', ok: 'Yes'
                echo "Test completed"
            }
        }
    }
}

推荐阅读