go get: настройки Git игнорируются
Я использую 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 ответ
Нашел ответ, и это глупо, и, конечно же, моя вина. Я не добавил ключ развертывания в проекты, конечно же, отвергнув клонов.
Чтобы решить проблему, в GitLab перейдите в хранилище, затем "Настройки" > "Репозиторий" и разверните "Развернуть ключи". Там убедитесь, что ключ, который вы пытаетесь клонировать, доступен и активирован.