gitea runners and mini refactor

This commit is contained in:
2026-05-20 07:54:37 +03:00
parent 54a0fbfb8c
commit 28d97db7fc
7 changed files with 105 additions and 1 deletions
@@ -0,0 +1,30 @@
log:
level: info
runner:
file: .runner
capacity: 1
timeout: 3h
insecure: false
fetch_timeout: 5s
fetch_interval: 2s
labels: ["ubuntu-latest:docker://gitea/runner-images:ubuntu-latest", "ubuntu-22.04:docker://gitea/runner-images:ubuntu-22.04"]
cache:
enabled: true
dir: ""
host: "192.168.1.3"
port: 8088
external_server: ""
container:
network: ""
privileged: false
options:
workdir_parent:
valid_volumes: []
docker_host: ""
force_pull: false
host:
workdir_parent:
@@ -0,0 +1,15 @@
services:
runner-1:
image: gitea/act_runner:nightly
restart: always
environment:
- CONFIG_FILE=/config.yaml
- GITEA_INSTANCE_URL=http://192.168.1.3:3000/
- GITEA_RUNNER_REGISTRATION_TOKEN=token
volumes:
- ./runner1/config.yaml:/config.yaml
- ./runner1/data:/data
- ./runner1/cache:/root/.cache
- /var/run/docker.sock:/var/run/docker.sock
ports:
- "8088:8088"
@@ -0,0 +1,41 @@
# Gitea Runner
# Включение Actions
Для установки и добавления раннера нужны включенные действия. Если они не включены по умолчанию, то включаем их в конфиге самой gitea
```
nano /etc/gitea/app.ini
[actions] ENABLED=true
```
# Где взять токен
Нужно зайти в репозиторий -> Настройки -> Действия -> Раннеры -> Создать новый раннер
## Установка docker
Раннер запускается в контейнере и запускает задачи тоже в контейнере, так что нам нужен докер.
```
curl -fsSL https://get.docker.com | sh -
```
В нужно папке создадим папку для раннеров и перейдем в нее. Если нужнго будет запускать несколько раннеров, то мы просто создадим папку со следующим номером.
```
mkdir -p gitea_runners/runner1
mkdir runner-1 && cd runner-1
```
Создадим конфиг ранера. Описание всех настроке конфига в оф документации https://gitea.com/gitea/runner/src/branch/main/internal/pkg/config/config.example.yaml
```
nano config.yaml
```
Вернемся в общую для ранеров директорию и создадим там compose файл для запуска. В этом файле мы можем описывать сразу все раннеры
```
cd ..
nano docker-compose.yaml
```
После всех настроек запускаем и ждем лога о том, что раннер зарегистрирован
```
docker compose up -d
docker logs gitea_runners-runner-1-1 -f
```
## Тест
Для теста создадим в репозитории директорию и конфиг для работы с раннером
```
mkdir -p ./.gitea/workflow/test.yaml
```
Далее запушим любое изменение и посмотрим в репозитории во вкладе действия выполнение. Первое выполнение может быть долгим, так как раннер скачивает контейнер для запуска кода.
@@ -0,0 +1,17 @@
name: Test Workflow
on:
push:
jobs:
test:
runs-on: ubuntu-latest
steps:
- name: Print environment variables
run: |
echo "GITHUB_REPOSITORY: $GITHUB_REPOSITORY"
echo "GITHUB_SHA: $GITHUB_SHA"
echo "GITHUB_REF: $GITHUB_REF"
echo "GITHUB_ACTOR: $GITHUB_ACTOR"
echo "PATH: $PATH"