Files
repo/README.md
2026-03-10 08:35:21 +04:00

78 lines
3.1 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# nakolenke debian packages
Репозиторий для сборки и публикации `.deb`-пакетов в [Gitea Package Registry](https://git.nakolenke.org/nakolenke-pub/-/packages).
## Структура
```
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`** — параметры сборки:
```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-репозитория
```sh
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 | имя репозитория |