ci / build-test (push) Failing after 20m4s
.gitea/workflows/ci.yml (из .github — Gitea сканирует оба пути, оставлен один канонический); deploy/gitea-runner: docker-compose act_runner с метками ubuntu-latest -> gitea/runner-images, .env.example и README (токен регистрации в .env, в git не попадает). Первый прогон — push этого коммита.
Gitea Actions Runner (Deal CI)
Раннер для .gitea/workflows/ci.yml. Workflow требует метку ubuntu-latest;
job-контейнер — gitea/runner-images:ubuntu-latest, .NET 10 и Node 20 ставятся
шагами setup-dotnet/setup-node внутри job'а.
Поднять на любой машине с Docker (в той же сети, что Gitea)
cp .env.example .env # вписать RUNNER_TOKEN
docker compose up -d
Токен: Gitea → Site Administration → Actions → Runners → Create new runner
или API (см. .env.example).
Проверка: Gitea → репозиторий → Actions → Runners — раннер deal-runner
должен быть Idle. Далее любой git push в main запускает workflow
(.gitea/workflows/ci.yml: sh scripts/ci.sh — сборка 5 решений, тесты,
скан уязвимостей, сборка и линтер фронта).
Перенос на сервер Gitea
- Скопировать каталог на сервер, заполнить
.env,docker compose up -d. - Локальный раннер погасить:
docker compose down(каталогdata/содержит регистрацию — при переносе можно удалить и перерегистрировать).
Заметки
- Первая строка pulls ~1.5 GB (
gitea/runner-images:ubuntu-latest+ SDK ~200 MB при первом прогоне); последующие прогоны — инкрементальные. restart: unless-stopped— раннер переживает перезагрузку хоста.- Токен регистрации используется один раз при
register; хранить его в репозитории нельзя — только в.env(в.gitignore).