【发布时间】:2019-07-14 21:14:39
【问题描述】:
在我的 gitlab-ci.yml 中,我有一个通过 curl 帖子在 gitlab 中创建发布的命令
# create release
- >-
curl --request POST -H 'PRIVATE-TOKEN: ${GITLABAPI_TOKEN}' -H 'Content-Type: application/json' --data "{\"description\": \"`git log $(git describe --tags --abbrev=0)..HEAD --oneline`\"}" https://gitlab.unc.nc/api/v4/projects/${APP_GITLAB_NUMBER}/repository/tags/${CI_COMMIT_TAG}/release
此请求得到“401 未授权”,因为我怀疑 -H 'PRIVATE-TOKEN: ${GITLABAPI_TOKEN}' 没有被变量值替换。 与:${GITLABAPI_TOKEN} $GITLABAPI_TOKEN "${GITLABAPI_TOKEN}"
相同如果我这样显示值,值就ok了:
ssh root@devsb01 "echo $GITLABAPI_TOKEN"
如果我直接使用密码值启动帖子,它会起作用:
- >-
curl --request POST -H 'PRIVATE-TOKEN: xkwMyRealPwdùwsx' -H 'Content-Type: application/json' --data "{\"description\": \"`git log $(git describe --tags --abbrev=0)..HEAD --oneline`\"}" https://gitlab.unc.nc/api/v4/projects/${APP_GITLAB_NUMBER}/repository/tags/${CI_COMMIT_TAG}/release
我想我需要在命令中添加一些内容以便替换它...但我不能...
PS:请注意,url 变量:${APP_GITLAB_NUMBER} 和 ${CI_COMMIT_TAG} 已正确替换
【问题讨论】: