go get:忽略Git设置

时间:2017-12-08 20:17:54

标签: go gitlab-ci

我正在使用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克隆?它只发生在这一个项目中,始终如一,但适用于所有其他项目。我能想到的唯一原因是这个项目使用了很多不同的回购,而不仅仅是一两个,但我很难说这将是实际问题。

我该如何解决这个问题?

感谢。

1 个答案:

答案 0 :(得分:0)

找到答案,这很愚蠢,当然,我的错。我没有将deploy键添加到项目中,当然拒绝克隆。

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