-
Bug
-
Resolution: Fixed
-
Major
-
Jenkins ver. 2.60.3
pipeline 2.5
Pipeline: Basic Steps 2.6
-
-
docker-workflow 1.19
It's said here, https://jenkins.io/doc/pipeline/steps/workflow-basic-steps/#code-dir-code-change-current-directory
Change current directory. Any step inside the dir block will use this directory as current and any relative path will use it as base path.
However, I can't seem to get it work. I use declarative syntax with a very basic Jenkinsfile
pipeline { agent none stages { stage('Change working directory...') { agent { docker 'my-image' } steps { dir('new-dir') { sh 'pwd' } } } } }
What it does is simply create a new folder called "new-dir" in the current working directory and then the pwd prints out the current working directory instead of navigating into the "new-dir".
Am I misusing this step because I can't find many examples online. I have found some relevant issues here, but none of them is of any help to me.
[JENKINS-46636] `dir` does not change working directory for contained steps
Labels | Original: directory jenkins pipeline | New: directory docker jenkins pipeline |
Resolution | New: Done [ 10000 ] | |
Status | Original: Open [ 1 ] | New: Closed [ 6 ] |
Resolution | Original: Done [ 10000 ] | |
Status | Original: Closed [ 6 ] | New: Reopened [ 4 ] |
I have worked it around by using `withDockerContainer` step.
Basically you use dir to change directory before launching the container, and the when booting up a container, the current path will be made the working directory inside the container.