57 lines
2.8 KiB
Markdown
57 lines
2.8 KiB
Markdown
# CI/CD с Gitea Runner
|
||
|
||
Gitea Runner — это инструмент для выполнения CI/CD задач, интегрированный с Gitea. Он позволяет автоматизировать
|
||
процессы сборки, тестирования и развертывания приложений.
|
||
|
||
В нашем репозии входим в "Настройки" -> "Действия" -> "Ранеры" и создаем новый Runner. Для это получим регистрационный
|
||
токен.
|
||
|
||
## Настройка Gitea Runner на macOS
|
||
|
||
```shell
|
||
docker run -d --restart always \ [±main ●]
|
||
-v /var/run/docker.sock:/var/run/docker.sock \
|
||
-e GITEA_INSTANCE_URL=https://git.cube2.ru \
|
||
-e GITEA_RUNNER_REGISTRATION_TOKEN=здест_полученный_токен \
|
||
-e GITEA_RUNNER_REGISTRATION_TOKEN=здесь_вставляем_полученный_токен \
|
||
-e GITEA_RUNNER_NAME=mac-mini-runner \
|
||
--name gitea-runner \
|
||
gitea/act_runner:latest
|
||
```
|
||
|
||
Увидим:
|
||
```txt
|
||
Unable to find image 'gitea/act_runner:latest' locally
|
||
latest: Pulling from gitea/act_runner
|
||
6e174226ea69: Pull complete
|
||
adcf2c0b73c2: Pull complete
|
||
e0c151a1a72f: Pull complete
|
||
3333c50851c8: Pull complete
|
||
Digest: sha256:0000000000000000000000000000000000000000000000000000000000000000
|
||
Status: Downloaded newer image for gitea/act_runner:latest
|
||
f000000000000000000000000000000000000000000000000000000000000000
|
||
```
|
||
|
||
## Обновление в продакшен
|
||
|
||
Наш `.gitea/workflows/docker-publish.yaml` настроен на публикацию Docker образа при создании тега, который начинается
|
||
с `v`. Образ собирается на компьютпере разработчика (см. главу Настройка Gitea Runner на macOS) и пакет загружается
|
||
в Gitea.
|
||
|
||
На хостинге работает Docker Stack с нашим проектом. Кроме `etpgrf-site-etpgrf-backend` и `etpgrf-site-etpgrf-nginx`
|
||
в нем работает `etpgrf-site-watchtower`, который следит за обновлениями образов на Gitea и если находит обновление, то
|
||
получает новый образ и перезапускает контейнер с новым образом.
|
||
|
||
Т.о. если мы хотим обновить продакшен, нам нужно просто создать новый тег в репозитории:
|
||
|
||
```shell
|
||
git tag v0.1.x
|
||
git push origin v0.1.x
|
||
```
|
||
|
||
sudo docker exec -it etpgrf-site-etpgrf-backend-1 python etpgrf_site/manage.py createsuperuser
|
||
|
||
|
||
|
||
e-serg
|
||
f0b01jLq$eRyID |