Навигация
Релизы
Создание релизов, прикрепление файлов, draft и prerelease, связь с тегами
Релизы - способ опубликовать версию вашего проекта: бинарники, архивы, changelog. Каждый релиз привязан к git-тегу.
Создание релиза
Через интерфейс
- Откройте репозиторий -> вкладка «Релизы»
- Нажмите «Новый релиз»
- Заполните:
- Тег - существующий git-тег или новый (например,
v1.0.0). Если тег не существует - он будет создан - Заголовок - название релиза (например, «Версия 1.0.0»)
- Описание - Markdown с описанием изменений
- Тег - существующий git-тег или новый (например,
- Опционально:
- Черновик - релиз не виден обычным пользователям, пока не опубликован
- Предварительный релиз - отмечен как нестабильный (не считается «последним»)
- Нажмите «Создать»
Через git
Создайте тег и push’ните:
git tag -a v1.0.0 -m "Версия 1.0.0"
git push --tags
Затем создайте релиз для тега через интерфейс.
Прикрепление файлов
К релизу можно прикрепить файлы: скомпилированные бинарники, архивы с исходниками, документацию.
Загрузка
- Откройте релиз -> «Редактировать»
- Перетащите файлы в область загрузки или нажмите «Выбрать файлы»
- Сохраните
Ограничения
- Максимум 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-тег остаётся.