一尘不染

go get:Git设置被忽略

go

我正在使用Golang和GitLab CI,并且我有一个GitLab CI配置,它可以完美地用于12个项目,但不适用于第13个项目。

我遇到的问题是我正在尝试go get一些私有存储库,这些存储库go get试图在已关闭的HTTPS上运行。

在其他存储库中有效的解决方案是:

git config --global url."git@gitlab.my.site:".insteadOf "https://gitlab.my.site/"

但是,在这个项目的运行程序中,在具有相同配置(服务名称除外)的同一GitLab上,会发生以下情况:

[...]
$ git config --global url."git@gitlab.my.site:".insteadOf "https://gitlab.my.site/"
$ cd ${APP_PATH}
$ go get
# cd .; git clone https://gitlab.my.site/group/project.git /go/src/gitlab.my.site/group/project
Cloning into '/go/src/gitlab.my.site/group/projects'...
GitLab: The project you were looking for could not be found.
fatal: Could not read from remote repository.

为什么突然尝试通过HTTPS克隆?它仅在一个项目中始终如一地发生,但在所有其他项目中都起作用。我能想到的唯一原因是,这个项目使用很多不同的存储库,而不仅仅是一个或两个,但是我很难理解这将是实际的问题。

我该如何解决?

谢谢。


阅读 344

收藏
2020-07-02

共1个答案

一尘不染

找到了答案,这很愚蠢,当然是我的错。我没有将部署密钥添加到项目中,当然拒绝了克隆。

要解决此问题,请在GitLab中转到存储库,然后转到“设置”>“存储库”,然后展开“部署密钥”。在那里,请确保您要用来克隆的密钥可用并已启用。

2020-07-02