Трубопровод Дженкинса: у летучей мыши неправильное кодирование с использованием косой черты - PullRequest
0 голосов
/ 16 апреля 2020

Я работаю над декларативным конвейером. Я столкнулся со странной проблемой кодирования. Вот небольшой фрагмент кода:

pipeline {
agent any
stages {
   stage ('1 Show Variables') {
        steps {
            script {            
              def currentWorkspace = "D:\\Jenkins\\LidatPipeline\\branches%2F7.3.0_NewTest\\workspace"

              echo "current WORKSPACE TEST 1: ${currentWorkspace}"  // Example: D:\Jenkins\LidatPipeline\trunk\workspace
              echo 'current WORKSPACE TEST 2: ' + currentWorkspace
              bat encoding: 'UTF-8', script: "echo current WORKSPACE TEST 3: ${currentWorkspace}"
              bat encoding: 'UTF-8', script: 'echo current WORKSPACE TEST 4: ' + currentWorkspace
              bat "echo current WORKSPACE TEST 5: ${currentWorkspace}"
              bat 'echo current WORKSPACE TEST 6: '+ currentWorkspace
            }
        }
    }

}

}

Затем выводится скрипт:

[Pipeline] {(1 Показать переменные) [ Скрипт] скрипт [Pipeline] {[Pipeline] отображает текущий тест WORKSPACE 1: D: \ Jenkins \ LidatPipeline \ branch% 2F7.3.0_NewTest \ workspace [Pipeline] отображает текущий тест WORKSPACE 2: D: \ Jenkins \ LidatPipeline \ branch% 2F7 .3.0_NewTest \ workspace [Pipeline] bat

D: \ Jenkins \ AlexPipelineTest \ workspace> повторить текущий WORKSPACE TEST 3: D: \ Jenkins \ LidatPipeline \ branchF7.3.0_NewTest \ workspace current WORKSPACE TEST 3: D: \ Jenkins \ LidatPipeline \ branchF7.3.0_NewTest \ workspace [Pipeline] bat

D: \ Jenkins \ AlexPipelineTest \ workspace> повторить текущий WORKSPACE TEST 4: D: \ Jenkins \ LidatPipeline \ branchF7.3.0_NewTest \ workspace current ТЕСТ РАБОЧЕГО МЕСТА 4: D: \ Jenkins \ LidatPipeline \ branchF7.3.0_NewTest \ workspace [Pipeline] bat

D: \ Jenkins \ AlexPipelineTest \ workspace> повторяет текущее ТЕСТ РАБОЧЕГО МЕСТА 5: D: \ Jenkins \ LidatPipeline \ branchF7 .3.0_New Тест \ рабочая область текущий WORKSPACE TEST 5: D: \ Jenkins \ LidatPipeline \ branchF7.3.0_NewTest \ workspace [конвейер] bat

D: \ Jenkins \ AlexPipelineTest \ workspace> повторяет текущий WORKSPACE TEST 6: D: \ Jenkins \ LidatPipeline \ branchF7.3.0_NewTest \ workspace current WORKSPACE TEST 6: D: \ Jenkins \ LidatPipeline \ branchF7.3.0_NewTest \ workspace [Pipeline]}

Теперь мой маленький этот путь, который я упомянул как «currentWorkspace» "действительно так на моем диске c (он создается автоматически), но мне нужно вызвать этот путь с помощью bat в других командах, например:

bat script: 
                    '''cd ''' + currentWorkspace + '''\\Source\\Lidat
                    strange things here
                    dotnet blablabla'''

И вот моя проблема с первым эхом, который я хотя мой путь правильный, но потом я увидел, что, когда я вызываю его с метки «bat», это неправильно,% 2f здесь не закодирован правильно. Мне нужен этот путь "D: ​​\ Jenkins \ LidatPipeline \ branch% 2F7.3.0_NewTest \ workspace" и НЕ "D: ​​\ Jenkins \ LidatPipeline \ branchF7.3.0_NewTest \ workspace "

У кого-нибудь есть идеи?

Спасибо!

...