Реестр пакетов Go
Для работы с модулями Go необходимо установить язык программирования Go.
Скачайте пакет с официального сайта или установите с помощью команды:
sudo apt install golang-go
Для аутентификации вам потребуется создать в профиле транспортный токен, сохраните его для дальнейшей работы.
Базовый реестр GitFlic
Скачивание и установка пакета
В документации ниже встречается атрибут <домен_gitflic> На его место необходимо указать домен, в зависимости от версии:
-
для gitflic.ru
go.gitflic.ru -
для self-hosted
localhost:8080
Домен и порт для self-hosted версии может отличаться.
Значение атрибута url зависит от уровня доступа проекта:
| Уровень | URL |
|---|---|
| Проект | {домен_gitflic}/{ownerAlias}/{projectAlias} |
| Компания | {домен_gitflic}/{companyAlias}/{projectAlias} |
| Команда | {домен_gitflic}/{teamAlias}/{projectAlias} |
| Переменная в URL | Описание |
|---|---|
ownerAlias |
Псевдоним владельца проекта |
projectAlias |
Псевдоним проекта |
companyAlias |
Псевдоним компании |
teamAlias |
Псевдоним команды |
- Отключите проксирование пакетов:
export GOPROXY=direct
-
Убедитесь, что ваш репозиторий является публичным, или настройте Git для использования SSH вместо HTTPS
-
Загрузите модуль из репозитория с помощью команды go get:
go mod init mynewproject
go get <выбранный url репозитория>
- Также вы можете импортировать модуль непосредственно в вашем коде:
package main
import (
"fmt"
"<выбранный url репозитория>"
)
func main() {
fmt.Println("Hello, World!")
}
Публикация пакета
Создайте репозиторий на GitFlic и загрузите туда ваш модуль. Вы можете сделать это стандартно, через терминал, или воспользуйтесь загрузкой файлов через веб-интерфейс.
Репозиторий реестра Go
Репозитории реестра Go работают как удаленный прокси-сервер хранящий модули.
Функционал доступен в Enterprise и Atlas версии
Значение атрибута url зависит от уровня доступа проекта:
| Уровень | URL |
|---|---|
| Проект | {домен_gitflic}/project/{ownerAlias}/{projectAlias}/package/{repositoryName}/-/go |
| Компания | {домен_gitflic}/company/{companyAlias}/package/{repositoryName}/-/go |
| Инстанс | {домен_gitflic}/registry/package/{repositoryName}/-/go |
| Переменная в URL | Описание |
|---|---|
ownerAlias |
Псевдоним владельца проекта |
projectAlias |
Псевдоним проекта |
companyAlias |
Псевдоним компании |
repositoryName |
Псевдоним репозитория реестра |
Скачивание модулей
Для загрузки модулей из gitflic настройте подключение к репозиторию
GOPROXY = "<username>:<transport_token>@{домен_gitflic}/project/{ownerAlias}/{projectAlias}/package/{repositoryName}/-/go,direct"
Для установки пакетов указанных в go.mod используйте команду:
go mod tidy
Для установки конкретного пакета используйте:
go get <package_name>@<package_version>
Публикация модулей
В локальных репозиториях реестра публикуются собранные архивы модулей.
Для публикации используйте команду:
curl --user <username>:<transport_token> \
--upload-file <path/to/file> \
https://{домен_gitflic}/project/{ownerAlias}/{projectAlias}/package/{repositoryName}/-/go/upload
Или загрузите пакет вручную через веб-интерфейс.
