3.3 KiB
3.3 KiB
Система автоматической сборки 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
# app.ini
[actions]
ENABLED = true
DEFAULT_ACTIONS_URL = https://gitea.com
2. Настроить Secrets
Docker Hub
DOCKER_USERNAME- логин Docker HubDOCKER_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
docker.io/YOUR_USERNAME/salvagedb-bot:latest
Harbor Registry
reg.ddl.su/salvage_bot/salvagedb-bot:latest
Использование образов
Docker Run
docker run -d --name salvagedb-bot \
--env-file .env \
reg.ddl.su/salvage_bot/salvagedb-bot:latest
Docker Compose
services:
bot:
image: reg.ddl.su/salvage_bot/salvagedb-bot:latest
env_file: .env
restart: unless-stopped
Решение проблем
"Username and password required"
- Проверьте настройку всех необходимых secrets
- Убедитесь в правильности имен secrets
- Используйте robot account для Harbor
Ошибки авторизации Harbor
- Создайте robot account в Harbor UI
- Используйте формат
robot$username - Проверьте права на Push Artifact
Проблемы сборки
- Используйте
docker-build-test.ymlдля локального тестирования - Проверьте валидность Dockerfile
- При необходимости обратитесь к Harbor-Registry
Дополнительные возможности
- ✅ Кэширование Docker слоев
- ✅ Мультиплатформенная сборка (Docker Hub)
- ✅ Валидация безопасности
- ✅ Автоматическое тестирование
Подробная конфигурация описана в Harbor-Registry.