首页 > 解决方案 > 无法作为 CI 管道的一部分推送到 gitlab

问题描述

我正在尝试修改package.jsonfor 版本字符串并作为 CI 的一部分提交,但git push对我来说失败了。以下是gitlab-ci.yml我阶段中的代码:

before_script:
  - git remote set-url origin https://userid:${CI_PUSH_TOKEN}@gitlaburl.com/datastorage/project.git
  script:
  - call npm install gulp-json-modify --save
  - git checkout -B myBranch
  - call npm run modifyBuildVersion
  - git add package.json
  - git commit -m "[skip_ci]Automated commit from CI runner"
  - git push --follow-tags origin myBranch

其中 CI_PUSH_TOKEN 是我在 settings->CI/CD 下创建的环境变量,此键包含个人访问令牌的值。在 git push 的步骤中,我收到一个错误

“远程:HTTP 基本:访问被拒绝致命:身份验证失败”

知道这里出了什么问题吗?我试图四处寻找,但没有得到太多帮助。

标签: gitlabgitlab-ci

解决方案


您是否至少developer在您的回购中给予了用户 ID 的权利?

如果您使用 gitlab-ci-token 作为用户,则暂时无法推送(在 Gitlab 11.8 中)。有一个开放的功能请求


推荐阅读