GitRiver GitRiver
EN
Навигация

Релизы

Создание релизов, прикрепление файлов, draft и prerelease, связь с тегами

Релизы - способ опубликовать версию вашего проекта: бинарники, архивы, changelog. Каждый релиз привязан к git-тегу.

Создание релиза

Через интерфейс

  1. Откройте репозиторий -> вкладка «Релизы»
  2. Нажмите «Новый релиз»
  3. Заполните:
    • Тег - существующий git-тег или новый (например, v1.0.0). Если тег не существует - он будет создан
    • Заголовок - название релиза (например, «Версия 1.0.0»)
    • Описание - Markdown с описанием изменений
  4. Опционально:
    • Черновик - релиз не виден обычным пользователям, пока не опубликован
    • Предварительный релиз - отмечен как нестабильный (не считается «последним»)
  5. Нажмите «Создать»

Через git

Создайте тег и push’ните:

git tag -a v1.0.0 -m "Версия 1.0.0"
git push --tags

Затем создайте релиз для тега через интерфейс.


Прикрепление файлов

К релизу можно прикрепить файлы: скомпилированные бинарники, архивы с исходниками, документацию.

Загрузка

  1. Откройте релиз -> «Редактировать»
  2. Перетащите файлы в область загрузки или нажмите «Выбрать файлы»
  3. Сохраните

Ограничения

  • Максимум 500 МБ на файл
  • Имя файла: до 255 символов, без ..
  • Небезопасные типы (HTML, JavaScript, SVG) автоматически заменяются на application/octet-stream для предотвращения XSS

Счётчик скачиваний

Для каждого вложения ведётся счётчик скачиваний - видно в интерфейсе рядом с файлом.


Черновики и предварительные релизы

  • Черновик (Draft) - скрыт от обычных пользователей. Полезно для подготовки релиза: можно добавить описание и файлы, а потом опубликовать
  • Предварительный релиз (Prerelease) - виден всем, но не считается «последним стабильным». Полезно для beta/rc версий

«Последний релиз» (отображается на главной странице репозитория) - это самый свежий релиз, который не является черновиком и не является предварительным.


Автоматические релизы из CI

Типичный сценарий: при push тега автоматически собрать бинарники и создать релиз.

name: Release

on:
  push:
    tags: ['v*']

jobs:
  build:
    image: rust:1.93
    steps:
      - run: cargo build --release
    artifacts:
      paths:
        - target/release/myapp

Автоматическое создание релиза из CI пока требует вызова API. Артефакты доступны через интерфейс CI для ручного прикрепления к релизу.


Удаление

При удалении релиза все прикреплённые файлы тоже удаляются. Git-тег остаётся.