我正在使用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克隆?它只发生在这一个项目中,始终如一,但适用于所有其他项目。我能想到的唯一原因是这个项目使用了很多不同的回购,而不仅仅是一两个,但我很难说这将是实际问题。
我该如何解决这个问题?
感谢。
答案 0 :(得分:0)
找到答案,这很愚蠢,当然,我的错。我没有将deploy键添加到项目中,当然拒绝克隆。
要解决此问题,请在GitLab中转到存储库,然后转到“设置”> “存储库”并折叠“部署密钥”。在那里,确保您尝试克隆的密钥可用并启用。