Go-разработчикам посоветовали не привязывать свой код к GitHub

В этом есть смысл

Go-разработчикам посоветовали не привязывать свой код к GitHub

Go-разработчикам советуют не использовать адрес GitHub в качестве постоянного пути для своих пакетов. Вместо этого можно привязать пакет к собственному домену. Тогда при смене Git-хостинга не придется менять импорты в коде.

В Go путь к пакету обычно совпадает с адресом репозитория. Например, библиотека на GitHub подключается через github.com/имя/проект. Go использует этот адрес, чтобы найти и скачать код.

У такого подхода есть очевидный минус. Если проект переедет с GitHub на GitLab, старый адрес никуда не денется. Чтобы использовать новый путь, придется менять импорты и обновлять код, который зависит от библиотеки.

Читают прямо сейчас:

Роадмап Golang: путь от нуля до джуниора в 2026 — как устроена работа с модулями и зависимостями в Go и почему выбор пути пакета — это архитектурное решение

10 главных конструкций языка Go — как устроена система пакетов в Go изнутри и почему путь импорта — это одновременно идентификатор и адрес загрузки

Что такое Git, репозиторий, коммиты и системы контроля версий — как связаны хостинг репозитория и путь пакета в Go — и почему переезд с GitHub ломает импорты у всех, кто зависит от вашей библиотеки

Собственный домен вместо GitHub

Автор предлагает использовать отдельные домены вроде go.uber.org или go.mongodb.org. Такой адрес становится постоянным, а сам репозиторий можно в любой момент перенести на другой сервис.

Например, go.iain.rocks/boneclone сейчас может указывать на GitHub. Если завтра репозиторий переедет на GitLab, достаточно изменить настройки домена. Пользователи при этом продолжат устанавливать пакет по тому же адресу.

Go поддерживает такую схему через HTML-метатег go-import. В нем указывается путь к пакету, система контроля версий и адрес репозитория. 

Есть и тег go-source, который может содержать ссылки на исходный код.

Почему это может пригодиться компаниям

Автор оригинальной статьи утверждает, что сталкивался с компанией, которая одновременно использовала GitHub, GitLab и Azure DevOps. Перенос проектов оказался настолько неудобным, что компания продолжила платить сразу за три сервиса.

Для настройки собственного домена достаточно веб-сервера и страницы с метаданными. Автор приводит пример конфигурации Nginx: обычных посетителей она отправляет на GitHub, а запросы Go с параметром go-get=1 получают нужную HTML-страницу.

Большая скидка — 16% на все курсы Практикума

Если вы читаете эту статью, тогда вы точно разбираетесь в технологиях. Стать лучше и зарабатывать больше можно после курсов Практикума — по программированию, анализу данных и искусственному интеллекту.

До 30 сентября на все курсы действует скидка 16%, она применится автоматически при оплате. Потом цены станут выше, поэтому не откладывайте!

Соцсети: Юлия Зубарева
Через год — лучше работа, выше зарплата
В «Яндекс Практикуме» становятся разработчиками с нуля. Выберите язык — веб, Python, Java, C++ — и учитесь. Джуны зарабатывают от 80 000 ₽, мидлы — от 150 000 ₽. Дальше — программы трудоустройства и компенсация, если пойдёте в Яндекс.
Вам может быть интересно
easy
[anycomment]
Exit mobile version