2.8 KiB
CI/CD с Gitea Runner
Gitea Runner — это инструмент для выполнения CI/CD задач, интегрированный с Gitea. Он позволяет автоматизировать процессы сборки, тестирования и развертывания приложений.
В нашем репозии входим в "Настройки" -> "Действия" -> "Ранеры" и создаем новый Runner. Для это получим регистрационный токен.
Настройка Gitea Runner на macOS
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
Увидим:
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 и если находит обновление, то
получает новый образ и перезапускает контейнер с новым образом.
Т.о. если мы хотим обновить продакшен, нам нужно просто создать новый тег в репозитории:
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