【发布时间】:2019-05-21 10:40:57
【问题描述】:
我有一个名为 Git_Tag_Test 的 Jenkins 作业,其作业配置如下:
1)带参数构建:SHA和标签名是字符串参数
2)git scm
3)批处理命令来标记分支。
这个 Git_Tag_Test 作业是在 prod 部署步骤之后从 jenkins 管道调用的。当我手动输入 SHA 和标记名称参数而不将其作为变量传递时,Git_Tag_Test 作业运行成功。问题是当我使用 SHA 名称和标签名称作为变量从管道调用作业时,无法识别 SHA。
批处理命令如下所示:
echo %Tag_Name%
echo %SHA%
git tag -f -a %Tag_Name% %SHA% -m "Test tag"
git push --tags origin
这是 git 标签的输出。
C:\Program Files (x86)\Jenkins\workspace\Git_Tag_Test>echo 2.10.6928.18660
2.10.6928.18660
C:\Program Files (x86)\Jenkins\workspace\Git_Tag_Test>echo 9e47b72e6
9e47b72e6
C:\Program Files (x86)\Jenkins\workspace\Git_Tag_Test>git tag -f -a
2.10.6928.18660
Vim: Warning: Output is not to a terminal
Vim: Warning: Input is not from a terminal
7[?47h[27m[24m[0m[H[J[24;1H<ogram Files
(x86)/Jenkins/workspace/Git_Tag_Test/.git/TAG_EDITMSG"
<86)/Jenkins/workspace/Git_Tag_Test/.git/TAG_EDITMSG" [unix] 5L,
93C[2;1H[1m[36m#
# [0m[1m[34mWrite a message for tag:[0m
[1m[36m# 2.10.6928.18660
# Lines starting with '#' will be ignored.[0m
[1m[34m~
[7;1H~
[8;1H~
[9;1H~
[10;1H~
[11;1H~
Echo 显示标签名称,并且通过传递变量识别 SHA,但是在运行 git tag 命令时,SHA 变量没有输出。
注意:“Trim the string”在字符串参数配置中被选中。
究竟是什么问题?我在这个问题上到处搜索,并且几个月来一直在尝试调试它。
【问题讨论】:
-
还想指出,当我将 git_tag_test 作业的作业配置复制到管道步骤块(而不是称为另一个构建作业)时,这是同样的问题。