Comments 6
Сейчас все мои сервисы работают дома.
Насколько изменились расходы ?
Gitea, act runner, экземпляр докер для сборки контейнера, экземпляр докер для выполнения собранных контейнеров.
Локально веду разработку, пушу в гитеа, контейнер собирается и отправляется в "прод".
Похожая схема у меня была реализована в AWS.
По коммиту/PR в master запускался gihub actions pipeline.
Собирался докер образ и пушился в ECR.
Затем через SSM запускалась команда - на EC2 выполнялся deploy.sh скрипт. Результаты запуска команды логировались в cloud-watch.
Результаты вызова команды влияли на пайплайн на github.
deploy.sh в свою очередь
- логировал процесс деплоя,
- выкачивал .env и compose.yaml из AWS SSM Parameter Store если обновилилсь
- обновлял docker образ и перезапускал compose сервисы
сам deploy.sh залетал на EC2 при инициализации инстанса.
Инфраструктуру я подготавливал с помощью terraform.
Нужна была схема деплоя попроще
А я написал свою TUI-утилиту для деплоя, т.к. у меня blue-green deployment и мне надо еще после скачивания новой версии, его запуска и ожидания health check в nginx конфиге менять порты и перечитывать конфиг для применения изменений, чтобы без остановки переключить релиз и только после проверки выключаю старые контейнеры
получился некий k8s на ультра минималках ))
P.S. да я думал про k3s и прочие, но я не готов отдавать ему для работы 300 мб оперативки просто так, а еще он хочет быть главным на ноде и сломал мне все iptables правила при установке и захватил полный контроль над нодой ))
Мне кажется это все уже решено курьером и арго
Плагин для Docker для быстрого деплоя