Я работаю над декларативным конвейером. Я столкнулся со странной проблемой кодирования. Вот небольшой фрагмент кода:
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 "
У кого-нибудь есть идеи?
Спасибо!