savagedb_bot/wiki/Gitea-Actions.md

102 lines
3.3 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.

Система автоматической сборки Docker образов через Gitea Actions.
## Обзор workflow
В проекте настроены четыре workflow для автоматической сборки:
| Workflow | Назначение | Registry |
|----------|------------|----------|
| `docker-build.yml` | Публикация в Docker Hub | docker.io |
| `docker-build-local.yml` | Публикация в Harbor/локальный registry | Настраиваемый |
| `docker-build-test.yml` | Только тестирование сборки | Без registry |
| `pull-request-check.yml` | Проверка Pull Request | Без registry |
## Быстрая настройка
### 1. Включить Actions в Gitea
```ini
# app.ini
[actions]
ENABLED = true
DEFAULT_ACTIONS_URL = https://gitea.com
```
### 2. Настроить Secrets
#### Docker Hub
- `DOCKER_USERNAME` - логин Docker Hub
- `DOCKER_PASSWORD` - токен доступа
#### Harbor/Локальный Registry
- `DOCKER_REGISTRY_URL` - адрес registry (reg.ddl.su)
- `DOCKER_REGISTRY_PROJECT` - проект Harbor (salvage_bot)
- `DOCKER_REGISTRY_USERNAME` - логин (robot account)
- `DOCKER_REGISTRY_PASSWORD` - токен
## Триггеры сборки
### Автоматические
- **Push в main/develop** → создает образы `latest`, `main`, `develop`
- **Теги v*** → создает семантические версии (`1.0.0`, `1.0`, `1`, `latest`)
- **Pull Request** → тестирует сборку, создает тег `pr-XXX`
### Ручной запуск
- Через веб-интерфейс Gitea Actions
- Возможность указать произвольный тег
## Результат сборки
### Docker Hub
```bash
docker.io/YOUR_USERNAME/salvagedb-bot:latest
```
### Harbor Registry
```bash
reg.ddl.su/salvage_bot/salvagedb-bot:latest
```
## Использование образов
### Docker Run
```bash
docker run -d --name salvagedb-bot \
--env-file .env \
reg.ddl.su/salvage_bot/salvagedb-bot:latest
```
### Docker Compose
```yaml
services:
bot:
image: reg.ddl.su/salvage_bot/salvagedb-bot:latest
env_file: .env
restart: unless-stopped
```
## Решение проблем
### "Username and password required"
1. Проверьте настройку всех необходимых secrets
2. Убедитесь в правильности имен secrets
3. Используйте robot account для Harbor
### Ошибки авторизации Harbor
1. Создайте robot account в Harbor UI
2. Используйте формат `robot$username`
3. Проверьте права на Push Artifact
### Проблемы сборки
1. Используйте `docker-build-test.yml` для локального тестирования
2. Проверьте валидность Dockerfile
3. При необходимости обратитесь к [[Harbor-Registry]]
## Дополнительные возможности
-**Кэширование Docker слоев**
-**Мультиплатформенная сборка** (Docker Hub)
-**Валидация безопасности**
-**Автоматическое тестирование**
Подробная конфигурация описана в [[Harbor-Registry]].