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 этого коммита.
35 lines
1.9 KiB
Markdown
35 lines
1.9 KiB
Markdown
# 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)
|
||
|
||
```sh
|
||
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
|
||
|
||
1. Скопировать каталог на сервер, заполнить `.env`, `docker compose up -d`.
|
||
2. Локальный раннер погасить: `docker compose down` (каталог `data/` содержит
|
||
регистрацию — при переносе можно удалить и перерегистрировать).
|
||
|
||
## Заметки
|
||
|
||
- Первая строка pulls ~1.5 GB (`gitea/runner-images:ubuntu-latest` + SDK ~200 MB
|
||
при первом прогоне); последующие прогоны — инкрементальные.
|
||
- `restart: unless-stopped` — раннер переживает перезагрузку хоста.
|
||
- Токен регистрации используется один раз при `register`; хранить его в
|
||
репозитории нельзя — только в `.env` (в `.gitignore`).
|