gitlab - 无法作为 CI 管道的一部分推送到 gitlab
问题描述
我正在尝试修改package.json
for 版本字符串并作为 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 基本:访问被拒绝致命:身份验证失败”
知道这里出了什么问题吗?我试图四处寻找,但没有得到太多帮助。
解决方案
您是否至少developer
在您的回购中给予了用户 ID 的权利?
如果您使用 gitlab-ci-token 作为用户,则暂时无法推送(在 Gitlab 11.8 中)。有一个开放的功能请求。
推荐阅读
- c - 如何在 C 中处理从 Tcl_EvalFile() 返回的 TCL_ERROR?
- python - 如何让 Python 上下文管理器包装一段代码并将其作为批处理执行?
- go - 自引用结构,预加载父母的记录在父母和孩子之间切换
- mysql - 在 knex.js 迁移中删除外键不起作用
- python - 我的神经网络中需要另一层吗?
- reactjs - 为什么我的反应路由器链接在抽屉中工作而不是标题
- c# - 如何将数据从 TXT 文件导入 Access 数据库
- rust - 是否可以以普通绑定的方式定义(递归)函数?
- python - 嗨,我开始学习如何编码。我正在尝试使用 for 循环和嵌套 for 循环在 python 中制作一个 ascii 艺术沙漏
- bash - 是否可以使用 find 命令与其他用户一起运行 bash 脚本?