Day by Day, Site by Site

Open source, Some Code, Troubleshooting, Good Links

Jan 13, 2022 - golang

Работа с частными репозиториями в Golang - Goinsecure

Язык программирования Golang и линейка продуктов JetBrains, куда входят Goland и Pycharm, ориентированны на работу с внешними сервисами, такими как Github. Github использует https протокол. В менеджере пакетов Golang по умолчанию настроена работа с использованием https протокола.

Во множестве организаций использутся внутренние репозитории кода. У нас код хостится на внутреннем сервере Gitlab. При этом https не используется, используется http. При импорте модулей в пакет при разработке на Golang возникает проблема:

При попытке импорта, Goland пишет:

go: finding module for package gitlab.bazalt.team/dev/veil-api-client-go/veil
terraform-provider-veil imports
gitlab.bazalt.team/dev/veil-api-client-go/veil: cannot find module providing package gitlab.bazalt.team/dev/veil-api-client-go/veil: unrecognized import path "gitlab.bazalt.team/dev/veil-api-client-go/veil": https fetch: Get "https://gitlab.bazalt.team/dev/veil-api-client-go/veil?go-get=1": dial tcp 192.168.14.215:443: connect: connection refused

Что делал что бы побороть ошибку:

  • запилил самоподписанные сертфикаты для Gitlab, не помогло:
go: finding module for package gitlab.bazalt.team/dev/veil-api-client-go/veil
terraform-provider-veil/veil imports
gitlab.bazalt.team/dev/veil-api-client-go/veil: cannot find module providing package gitlab.bazalt.team/dev/veil-api-client-go/veil: unrecognized import path "gitlab.bazalt.team/dev/veil-api-client-go/veil": https fetch: Get "https://gitlab.bazalt.team/dev/veil-api-client-go/veil?go-get=1": x509: certificate signed by unknown authority
  • экспериментировал с git на локальном хосте как здесь, не помогло:

  • поспал, начал читать разное про модули, набрел на “Go Modules Reference”, в итоге помогло…

В настройках проекта Goland устанавливаем переменные с исключениями из внутренних серверов:

и удаляем старые версии модулей в консоли:

go clean -modcache

Может потребоваться перезапуск Goland. Модули нормально импортировались: