add: немного описания
This commit is contained in:
@@ -0,0 +1,57 @@
|
||||
# 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
|
||||
Reference in New Issue
Block a user