Я пытаюсь создать тег в Jenkinsfile.
Я пробовал следующие комбинации:
Попытка один
sh "git tag -a ${params.Version} -m \"${params.Message}\" ${hash} -f"
Результат:
tag tag -a 1.0.1 -m Unquoted commit message 123456 -f
Что, очевидно, не сработает
Попытка два
sh "git tag -a ${params.Version} -m \\"${params.Message}\\" ${hash} -f"
Результат:
org.codehaus.groovy.control.MultipleCompilationErrorsException: startup failed:
WorkflowScript: 84: unexpected char: '\' @ line 84, column 81.
rsion} -m \\"${params.Message}\\" ${hash
Попытка три
sh "git tag -a ${params.Version} -m \\\"${params.Message}\\\" ${hash} -f"
Результат:
git tag -a 1.0.1 -m "Full release pipeline" 4618df91ff80e99cdd16f3849da06234e2385066 -f
fatal: too many params
Хорошо выглядит, но, видимо, что-то не так.
Как ты это делаешь?
Редактировать
Это единственное, что я получил, чтобы работать, но это тяжело читать и поддерживать это.
sh 'git tag -af ' + params.Version + ' -m "' + params.Message + '" ' + hash