无法通过Jenkins声明式pipe道更改Docker容器内的目录

我正在尝试使用这里列出的dir命令来更改当前目录: https : //jenkins.io/doc/pipeline/steps/workflow-basic-steps/#code-dir-code-change-current-directory

我编辑了我的pipe道,类似于这样的东西:

 pipeline { agent { dockerfile true } stages { stage('Change working directory...') { steps { dir('/var/www/html/community-edition') { sh 'pwd' } } } } } 

它根本不改变目录,而是尝试在主机上创build一个目录,并以java.io.IOException: Failed to mkdirs: /var/www/html/community-edition

使用sh cd /var/www/html/community-edition似乎也不起作用。 如何更改容器中的目录? 其他人似乎有同样的问题,但不得不改变他的pipe道结构来改变目录,听起来不是一个合理的解决办法。 是不是已经在容器中调用的步骤? https://issues.jenkins-ci.org/browse/JENKINS-46636

我昨天也有同样的问题。 这似乎是一个错误 ,导致dir()在容器内使用时不改变目录。 我已经得到它一次执行cdpwd命令,如下所示:

 sh '(cd //var/www/html/community-edition && pwd)'