Я выполняю задания в Jenkins для своего проекта Spring Boot, и недавно я столкнулся с проблемой, когда Jenkins удаляет двойные кавычки из команд, которые он должен выполнять. Не имеет значения, находится ли оно внутри задания Gradle или конвейера, удаленные двойные кавычки удаляются. Пример:
Задание Gradle:
proc = "git log --pretty=format:\"%cd - ${tag} (backend) - %s \" -${distance} --no-merges --date=short".execute()
Локально работает нормально, однако на Jenkins происходит сбой с ошибкой: fatal: ambiguous аргумент '(backend)': неизвестная ревизия или путь не в рабочем дереве.
Конвейер Jenkins:
sh "git log --pretty=format:\"%cd - ${tag} (backend) - %s \" -${distance} --no-merges --date=short"
Сбой с Синтаксическая ошибка: "(" неожиданный , который сводится к тому же, что и я определили в ходе этого эксперимента:
sh "echo git log --pretty=format:\"%cd - ${tag} (backend) - %s \" -${distance} --no-merges --date=short"
Возвращает команду без двойных кавычек:
git log --pretty = format:% cd - 2.0.4 ( бэкэнд) -% s -8 --no-merges --date = short
Кто-нибудь знает, как это обойти? Спасибо!