Durable task plugin on Windows fails to run jenkins-wrapper.bat if workspace has a space

This issue is archived. You can view it, but you can't modify it. Learn more

XMLWordPrintable

      If the path to the Jenkins workspace folder has a space in Windows the space is not properly handled when launching a Windows docker container with the docker workflow plugin.

      Docker Desktop Version: 27.2.0
      Image: mcr.microsoft.com/windows/nanoserver:ltsc2019

      This can be reproduced by running docker for windows through a unit test.

      Command:

      docker exec --workdir C:\git\docker-workflow-plugin\target\tmp\j h14592559048553421565\workspace\prj <. . .> 98037c1c32a7ca4b27e54256097b8d3c45e5629581921e606e1bbe6204b02bc9 cmd /c ""C:\git\docker-workflow-plugin\target\tmp\j h14592559048553421565\workspace\prj@tmp\durable-33850330\jenkins-wrap.bat""
      

      Response:

      'C:\git\docker-workflow-plugin\target\tmp\j\' is not recognized as an internal or external command,
      operable program or batch file.
      

      There are two defects here:
      1) The workdir needs to be quoted here
      2) The consecutive double quotes ("") used when launching jenkins-wrapper.bat doesn't work with docker exec here

      After experimenting it looks like the "cmd /c call" approach already used by the jenkins-wraper.bat works:

      docker exec --workdir C:\git\docker-workflow-plugin\target\tmp\j h14592559048553421565\workspace\prj <. . .> 98037c1c32a7ca4b27e54256097b8d3c45e5629581921e606e1bbe6204b02bc9 cmd /c call "C:\git\docker-workflow-plugin\target\tmp\j h14592559048553421565\workspace\prj@tmp\durable-33850330\jenkins-wrap.bat"
      

            Assignee:
            Mark R
            Reporter:
            Mark R
            Archiver:
            Jenkins Service Account

              Created:
              Updated:
              Resolved:
              Archived: