Как использовать Go dep с подгруппами GitLab - PullRequest
1 голос
/ 29 июня 2019

У меня есть проект go, который требует некоторых зависимостей от репозитория GitLab, таких как git.mydomain.com/myteam/category/subcategory/project.git. Но я получаю эту ошибку.

ensure Solve(): remote repository at https://git.mydomain.com/myteam/category.git does not exist or is inaccessible: : exit status 128

Я был бы очень благодарен, если бы кто-нибудь помог мне решить эту проблему.

Спасибо.

Ответы [ 2 ]

0 голосов
/ 18 июля 2019

Эта проблема подробно обсуждается на трекере поддержки GitLab .

TL; DR; Он (намеренно) сломан для частных репозиториев :

Является ли [ваша группа] частной? Если это так, то это ожидаемое поведение, и я бы рекомендовал прочитать обсуждение начиная с # 1337 (комментарий 36293613) и далее. В этом случае мы решили максимизировать безопасность / конфиденциальность за счет небольшого удобства использования. Рекомендуемое обходное решение - специально добавить .git к вашему URL.

Единственное решение, которое я нашел, это использовать поддержку dep для .netrc.

  1. Создание токена личного доступа на GitLab с областью действия api : enter image description here

  2. Создать файл ~/.netrc:

    machine gitlab.com
        login <your gitlab username>
        password <the token created in step 1>
    
  3. Немного защитите ваш .netrc файл:

    chmod 600 ~/.netrc
    
  4. Прибыль

    Теперь это должно работать:

    dep ensure -add gitlab.com/<company>/<subgroup>/<project>
    

Если вы используете частную установку GitLab, я надеюсь, что вы замените gitlab.com на соответствующее имя хоста, где это применимо.

0 голосов
/ 30 июня 2019

Я думаю, что лучшим решением было бы использование прокси-сервера, например athens .Вы можете добавить свои Gitlab-Credentials и использовать его в качестве прокси-сервера.Афины тогда будут обрабатывать аутентификацию.

...