首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用带有写访问权限的Gitlab部署密钥

使用带有写访问权限的Gitlab部署密钥
EN

Stack Overflow用户
提问于 2017-05-04 15:27:19
回答 1查看 6.4K关注 0票数 7

我目前正在运行CE版本8.17.4,并试图设置一个具有写访问权限的部署密钥(从8.16开始),以便我的运行程序实例可以将构建工件提交回存储库。我采取了以下步骤来设置它:

  • 在runner实例中,我使用以下命令生成ssh键区 sudo ssh-keygen -t rsa -C "label" -b 4096
  • 生成的密钥被保存到/home/gitlab-runner/.ssh/id_rsa并受密码保护。
  • 在Gitlab中,我从管理控制台创建了一个公共部署密钥,并将id_rsa.pub的内容粘贴到适当的字段中,并验证了密钥指纹是否匹配。我检查了“允许写入访问”框。
  • 在我希望从运行程序启用存储库访问的私有项目中,启用了新创建的公共部署密钥。
  • 这是一个.gitlab-ci.yml文档重新存储库,因此在LaTeX文件中,我在构建pdf之后发出以下脚本: after_script:   - "git commit -am 'autobuild PDF'"   - "git push origin master"

当提交更改时,生成成功地运行在亚军上,直到git推送主命令,并引发此错误:

fatal: Authentication failed for 'http://gitlab-ci-token:xxxxxxxxxxxxxxxx@host/project.git/'

好的。有几个问题:

  1. 如果部署密钥只是SSH密钥,那么不是应该在安全端口上连接吗?我还没有找到多少关于使用这个新的写权限部署关键特性的文档,所以我在上面的步骤中遗漏了什么吗?
  2. 我是否需要在提交消息中包括ci跳过以避免循环CI构建?我看到这个问题出现在这个功能的原始发行票中,但是没有看到这个步骤是否是必需的。

谢谢你的帮助!

EN

回答 1

Stack Overflow用户

发布于 2018-06-11 22:31:18

Jawad的评论对我有效:你需要强制SSH。例如

代码语言:javascript
复制
git remote add ssh_remote git@host:user/project.git
git push ssh-remote HEAD:dev

谢谢贾瓦德

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/43787094

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档