Yandex Cloud
Поиск
Связаться с экспертомПопробовать бесплатно
  • Кейсы
  • Документация
  • Блог
  • Все сервисы
  • Статус работы сервисов
  • Marketplace
    • Популярные
    • Инфраструктура и сеть
    • Платформа данных
    • Искусственный интеллект
    • Безопасность
    • Инструменты DevOps
    • Бессерверные вычисления
    • Управление ресурсами
  • Все решения
    • По отраслям
    • По типу задач
    • Экономика платформы
    • Безопасность
    • Техническая поддержка
    • Каталог партнёров
    • Обучение и сертификация
    • Облако для стартапов
    • Облако для крупного бизнеса
    • Центр технологий для общества
    • Облако для интеграторов
    • Поддержка IT-бизнеса
    • Облако для фрилансеров
    • Обучение и сертификация
    • Блог
    • Документация
    • Контент-программа
    • Мероприятия и вебинары
    • Контакты, чаты и сообщества
    • Идеи
    • Калькулятор цен
    • Тарифы
    • Акции и free tier
  • Кейсы
  • Документация
  • Блог
Создавайте контент и получайте гранты!Готовы написать своё руководство? Участвуйте в контент-программе и получайте гранты на работу с облачными сервисами!
Подробнее о программе
Проект Яндекса
© 2026 ООО «Яндекс.Облако»
Yandex Cloud Registry
  • Начало работы
    • Все инструкции
        • Создать Go-модуль
        • Загрузить Go-модуль в реестр
        • Скачать Go-модуль из реестра
      • Удалить артефакт из реестра
    • Создание политики жизненного цикла
  • Управление доступом
  • Правила тарификации
  • Справочник Terraform
  • Аудитные логи Audit Trails

В этой статье:

  • Структура Go-модуля
  • Создание Go-модуля
  • Подготовка ZIP-архива для публикации
  • Что дальше
  1. Пошаговые инструкции
  2. Управление артефактами
  3. Go-артефакт
  4. Создать Go-модуль

Создать Go-модуль

Статья создана
Yandex Cloud
Обновлена 17 июня 2026 г.
  • Структура Go-модуля
  • Создание Go-модуля
  • Подготовка ZIP-архива для публикации
  • Что дальше

В этой инструкции описано, как создать Go-модуль и подготовить ZIP-архив для последующей загрузки в реестр Cloud Registry.

Подробнее о работе с Go-модулями в официальной документации Go Modules Reference.

Структура Go-модуляСтруктура Go-модуля

Пример структуры проекта:

mymodule/                # Корневая директория Go-модуля
│
├── go.mod               # Определяет Go-модуль и его зависимости
├── go.sum               # Контрольные суммы зависимостей
├── main.go              # Точка входа (для исполняемых Go-модулей)
│
├── pkg/                 # Публичные пакеты
│   └── utils/
│       └── utils.go
│
└── internal/            # Приватные пакеты (недоступны извне Go-модуля)
    └── config/
        └── config.go

Создание Go-модуляСоздание Go-модуля

  1. Установите Go.

  2. Создайте директорию Go-модуля и перейдите в нее:

    mkdir mymodule && cd mymodule
    
  3. Инициализируйте Go-модуль, указав полный путь, по которому он будет доступен в реестре:

    go mod init registry.yandexcloud.net/go/<идентификатор_реестра>/mymodule
    

    В корне проекта появится файл go.mod:

    module registry.yandexcloud.net/go/<идентификатор_реестра>/mymodule
    
    go 1.21
    
  4. Добавьте код Go-модуля. Например, создайте файл hello.go:

    cat > hello.go << 'EOF'
    package mymodule
    
    func Hello() string {
        return "Hello from my module!"
    }
    EOF
    
  5. При наличии внешних зависимостей синхронизируйте go.mod и go.sum:

    go mod tidy
    

Подготовка ZIP-архива для публикацииПодготовка ZIP-архива для публикации

Go CLI не поддерживает публикацию модулей напрямую. Для загрузки в реестр Cloud Registry подготовьте ZIP-архив, структура которого соответствует Module zip files: каждый файл внутри архива должен иметь префикс пути вида <полный_путь_модуля>@<версия>/, где <полный_путь_модуля> совпадает с именем Go-модуля, указанным в go.mod.

Важно

Максимальный размер ZIP-архива — 500 МБ.

  1. Находясь в корне Go-модуля, соберите ZIP-архив, подставив идентификатор вашего реестра, имя и версию Go-модуля:

    find . -type f | bsdtar -a -cf ../mymodule-v1.0.0.zip \
        -s '|^\./|registry.yandexcloud.net/go/<идентификатор_реестра>/mymodule@v1.0.0/|' -T -
    

    Примечание

    Утилита bsdtar входит в состав libarchive. В macOS она предустановлена. В Debian и Ubuntu установите пакет libarchive-tools:

    sudo apt install libarchive-tools
    
  2. Проверьте структуру архива:

    unzip -l ../mymodule-v1.0.0.zip
    

    Результат:

    Archive:  ../mymodule-v1.0.0.zip
      Length      Date    Time    Name
    ---------  ---------- -----   ----
           74  2026-06-13 12:00   registry.yandexcloud.net/go/<идентификатор_реестра>/mymodule@v1.0.0/go.mod
          112  2026-06-13 12:00   registry.yandexcloud.net/go/<идентификатор_реестра>/mymodule@v1.0.0/hello.go
    ---------                     -------
          186                     2 files
    

Что дальшеЧто дальше

  • Загрузить Go-модуль в реестр
  • Скачать Go-модуль из реестра Cloud Registry

Была ли статья полезна?

Предыдущая
Скачать binary-артефакт из реестра
Следующая
Загрузить Go-модуль в реестр
Создавайте контент и получайте гранты!Готовы написать своё руководство? Участвуйте в контент-программе и получайте гранты на работу с облачными сервисами!
Подробнее о программе
Проект Яндекса
© 2026 ООО «Яндекс.Облако»