Базовая настройка раннера

This commit is contained in:
2025-04-08 11:30:37 +08:00
parent 8de39dbee3
commit 469109aa35
4 changed files with 183 additions and 11 deletions

View File

@@ -16,22 +16,26 @@
2. Выполнить `cp .env.example .env` и указать корректные данные для подключения
3. Перенос Gitea:
1. Потушить сервис (не сервер)
2. Конфиг скопировать в `./gitea/app.ini` и скорректировать по необходимости
2. Скопировать существующий конфиг в `./gitea/app.ini` и скорректировать по необходимости
3. Снять дамп mysql и положить в `./gitea/dump.sql.gz`
4. Директории с данными скопировать в `./gitea/data`
4. Перенос OpenGist:
4. Перенос Gitea Runner:
* Скопировать старый конфиг в `./runner/config.yaml` и скорректировать по необходимости
ИЛИ
* Выполнить `cp ./runner/config.example.yaml ./runner/config.yaml` и скорректировать по необходимости
5. Перенос OpenGist:
1. Потушить сервис (не сервер)
2. Конфиг скопировать в `./opengist/opengist.yml` и скорректировать по необходимости
2. Скопировать существующий конфиг скопировать в `./opengist/opengist.yml` и скорректировать по необходимости
3. Снять дамп mysql и положить в `./opengist/dump.sql.gz`
4. Директории с данными скопировать в `./opengist/data`
5. Убедиться, что владельцем `./` является юзер с `UID`=`1000`, если не -- `cd ..; chown -R 1000:1000 gitea; cd -`
6. Запустить через `docker compose up -d --build`
7. Проверить логи через `docker logs -f ...`
8. Проверить веб-морды через `curl -I localhost:...`
6. Убедиться, что владельцем `./` является юзер с `UID`=`1000`, если не -- `cd ..; chown -R 1000:1000 gitea; cd -`
7. Запустить через `docker compose up -d --build`
8. Проверить логи через `docker logs -f ...`
9. Проверить веб-морды через `curl -I localhost:...`
Опционально, если есть домены:
9. Настроить nginx на хосте как реверс-прокси из внешки в контейнеры:
10. Настроить nginx на хосте как реверс-прокси из внешки в контейнеры:
(поменять `server_name` и порты на свои)
1. `/etc/nginx/sites-available/gitea.conf`
```
@@ -72,9 +76,9 @@
unlink /etc/nginx/sites-enabled/default
systemctl restart nginx
```
10. Переключить DNS на новый IP
11. Проверить веб-морды по доменам через `curl -i ...`
12. Настроить SSL через `certbot`
11. Переключить DNS на новый IP
12. Проверить веб-морды по доменам через `curl -i ...`
13. Настроить SSL через `certbot`
## Для деплоя с нуля
@@ -98,3 +102,50 @@
```
4. Перезапустить демона через `systemctl restart sshd`
## Настройка Gitea Actions (runner)
При использовании Gitea версии ниже 1.21.0, необходимо в `./gitea/app.ini` добавить строчки:
```ini
[actions]
ENABLED=true
```
Для начала нужно запустить всю среду.
Чтобы раннер заработал, его нужно зарегистрировать в Gitea с помощью токена регистрации.
Они могу быть разными.
Получить его можно с помощью мануалов:
* https://docs.gitea.com/usage/actions/quickstart
* https://docs.gitea.com/usage/actions/act-runner#register-the-runner
Базово, для создания глобального раннера, нужно зайти в [список раннеров](http://localhost:8080/-/admin/actions/runners) и найти кнопку в правом верхнем углу.
Токен из этого поля нужно скопировать в файл [`.env`](.env) в переменную `RUNNER_REG_TOKEN` и перезапустить контейнер `gitea-runner` или всю среду по желанию.
В логах раннера должны быть подобные строчки:
```
level=info msg="Registering runner, arch=amd64, os=linux, version=v0.2.11."
level=debug msg="Successfully pinged the Gitea instance server"
level=info msg="Runner registered successfully."
SUCCESS
time="2025-04-08T02:14:17Z" level=info msg="Starting runner daemon"
time="2025-04-08T02:14:17Z" level=info msg="runner: gitea-runner, with version: v0.2.11, with labels: [ubuntu-latest ubuntu-22.04 ubuntu-20.04], declare successfully"
```
В списке раннеров по ссылке выше должен отобразиться `gitea-runner` зелёном статусе "Простаивает".
Если во время выполнения экшена `actions/checkout@v4` возникает ошибка `Could not resolve host`, то в конфиге `./runner/config.yaml` надо указать имя сети:
```yaml
#...
container:
network: "gitea_network"
#...
```
Доп. информация:
* https://docs.gitea.com/usage/actions/quickstart
* https://docs.gitea.com/usage/actions/act-runner#start-the-runner-using-docker-compose