我们已经从GitLab 15.7.3转移到GitLab 15.11.0安装。
在进行发布时,我们现在遇到了这种行为:
我们的Jenkins成功地从gitlab仓库读取/克隆了一个在Jenkins内部配置的SSH密钥的构建。然而,当使用相同的密钥对相同的存储库进行发布构建时,我们在推回存储库时遇到了以下错误:
[INFO] Executing: /bin/sh -c cd /home/abc/jenkins/workspace/xy && git commit --verbose -F /tmp/maven-scm-314273937.commit pom.xml
[INFO] Working directory: /home/abc/jenkins/workspace/xy
[INFO] Executing: /bin/sh -c cd /home/abc/jenkins/workspace/xy && git symbolic-ref HEAD
[INFO] Working directory: /home/abc/jenkins/workspace/xy
[INFO] Executing: /bin/sh -c cd /home/abc/jenkins/workspace/xy && git push ssh:********@ip:22/group/subgroup/xy refs/heads/master:refs/heads/master
[INFO] Working directory: /home/abc/jenkins/workspace/xy
[ERROR] Failed to execute goal org.apache.maven.plugins:maven-release-plugin:2.5.3:prepare (default-cli) on project xy: Unable to commit files
[ERROR] Provider message:
[ERROR] The git-push command failed.
[ERROR] Command output:
[ERROR] remote:
[ERROR] remote: ========================================================================
[ERROR] remote:
[ERROR] remote: You are not allowed to push code to this project.
[ERROR] remote:
[ERROR] remote: ========================================================================
[ERROR] remote:
[ERROR] fatal: Could not read from remote repository.
字符串
为了排除权限错误,我们已经进行了测试
- 授予用户对存储库的所有者权限
- 取消保护所有分支
但是,上述错误消息仍然存在。显然,用户能够正确连接到存储库,因为我们没有遇到权限拒绝消息。
我们在之前的gitlab安装中也遇到了类似的问题,在那里我们通过设置Developer+Maintainer are allowed to push
并赋予用户对仓库的维护者权限来解决这个问题。这在新安装中似乎不起作用。
gitlab上是否有其他权限设置可能会阻止用户推送代码?
1条答案
按热度按时间enyaitl31#
通过使用SSH配置中的SSH别名作为远程存储库URL,而不是使用普通URL,最终解决了这个问题。
这似乎只显示Jenkins,这是用于身份验证的确切SSH密钥,然后将顺利通过。
在这个特定的情况下(Java repo + Maven),有趣的注意是Jenkins没有使用与Job配置中给出的相同的URL来进行推送(这将仅用于克隆repo),而是使用pom.xml/settings.xml中给出的
<connection>
。