我正在尝试在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
答案 0 :(得分:0)
sh -c "git tag -a ${params.Version} -m \\\\"${params.Message}\\\\" ${hash} -f"
似乎可以正常工作。