ac213d9843bfd05ef5b6fd65a293ea6197864e5f
nakolenke debian packages
Репозиторий для сборки и публикации .deb-пакетов в Gitea Package Registry.
Структура
repo/
├── .gitea/workflows/
│ └── build-packages.yml # CI/CD пайплайн
├── v2ray/
│ ├── Makefile # параметры пакета
│ ├── nfpm.yaml # конфиг сборки .deb
│ └── scripts/
│ ├── env.sh # установка зависимостей
│ ├── download.sh # скачивание артефактов
│ ├── build.sh # сборка .deb через nfpm
│ └── publish.sh # публикация в registry
└── <другой пакет>/
└── ...
Добавление нового пакета
Создать директорию с именем пакета и следующими файлами:
Makefile — параметры сборки:
VERSION = 1.2.3
IMAGE = debian:bookworm-slim # docker-образ для сборки
STEPS = env download build publish # этапы, отсутствующий скрипт — пропускается
nfpm.yaml — конфигурация пакета, переменная ${VERSION} подставляется автоматически из окружения.
scripts/ — скрипты выполняются последовательно внутри docker-контейнера (IMAGE из Makefile). Каждый скрипт получает переменные окружения:
| Переменная | Описание |
|---|---|
PACKAGE |
имя пакета (имя директории) |
VERSION |
версия из Makefile |
G_URL |
базовый URL Gitea |
G_OWNER |
owner (org или user) |
G_REPO |
имя репозитория |
G_TOKEN |
токен публикации (из secrets) |
Рабочая директория внутри контейнера — /pkg.
Запуск
Actions → Build & Publish Packages → Run workflow
- оставить поле пустым — собираются все пакеты
- указать через запятую — только выбранные:
v2ray,xray
Подключение apt-репозитория
curl -fsSL "https://git.nakolenke.org/api/packages/nakolenke-pub/debian/repository.key" \
| gpg --dearmor -o /etc/apt/keyrings/nakolenke.gpg
echo "deb [signed-by=/etc/apt/keyrings/nakolenke.gpg] \
https://git.nakolenke.org/api/packages/nakolenke-pub/debian bookworm main" \
> /etc/apt/sources.list.d/nakolenke.list
apt-get update
Secrets и Variables
Настраиваются в Settings → Secrets / Variables → Actions:
| Имя | Тип | Описание |
|---|---|---|
G_TOKEN |
secret | токен с правом package:write |
G_URL |
variable | https://git.nakolenke.org |
G_OWNER |
variable | nakolenke-pub |
G_REPO |
variable | имя репозитория |
Description
Languages
Shell
96.2%
Makefile
3.8%