gitlab CI - push标签失败



我正在尝试推送管道标签阶段的标签,我有一个逻辑来形成一个标签,并把它推回回购。现在要推送标签,我已经创建了项目访问令牌,并在我的gitlab yml中如下所示。输出带有"set -x">

$ git push "${TEST_TAG}" "${CI_REPOSITORY_URL}"
++ git push v1.0.0 https://gitlab-ci-token:[MASKED]@gitlab.demo.com/demouser/demoproject.git
error: src refspec https://gitlab-ci-token does not match any

查询:

  1. 这是因为我没有在gitlab yml中设置访问令牌值的变量?如果我这样做,它不会暴露令牌吗?
  2. 我在这里错过了什么?

2022年的最佳做法是什么?谢谢。

git push "${TEST_TAG}" "${CI_REPOSITORY_URL}"

这些参数顺序错误。URL(或)参数必须是第一个位置参数。剩下的参数是refspecs。最简单的refspec形式是分支名称或标签名称:Git将获取该名称并查找该名称的完整拼写。

第二种最简单的形式是在冒号的左边放一个分支或标签名,在冒号的右边放另一个分支或标签名。左边是源ref,右边是destination。你的回复是:
https://gitlab-ci-token

说明部分为https。Git尝试查找名称为https的分支或标记。没有,因此出现错误消息:

error: src refspec https://gitlab-ci-token does not match any

(在我看来,这不是一个非常好的错误消息,但这就是你得到的)。

最新更新