我目前正在运行CE版本8.17.4并尝试使用写访问权限设置部署密钥(截至8.16),以便我的运行时实例可以将构建工件提交回存储库。我采取了以下步骤进行设置:
在运行器实例上,我使用以下命令生成了ssh keypair:
sudo ssh-keygen -t rsa -C "label" -b 4096
生成的密钥对已保存到 /home/gitlab-runner/.ssh/id_rsa 并受密码保护。
这是一个LaTeX文档存储库,因此在 .gitlab-ci.yml 文件中,我在构建pdf后发出以下脚本:
after_script:
- "git commit -am 'autobuild PDF'"
- "git push origin master"
当提交更改时,构建在成员上成功运行,直到 git push origin master 命令,并且抛出此错误:
fatal: Authentication failed for 'http://gitlab-ci-token:xxxxxxxxxxxxxxxx@host/project.git/'
确定。几个问题:
感谢您的帮助!
答案 0 :(得分:0)
Jawad的评论为我工作:你需要强制SSH。例如
git add remote ssh_remote git@host:user/project.git
git push ssh-remote HEAD:dev
谢谢jawad