делает ci/cd laravel проекта?
Ключевые моменты:
- собираете ли вы билд контейнера каждый раз при деплое или просто стягиваете git pull?
- идёт ли шаг запуска миграций/тестов на тестовой базе?
- докер окружение обновляете через docker-compose up -d, либо используя автоматизацию (напр. portainer)?
Используем ci/cd от GitHub, делаем билд без докера и загружаем на сервер. Пока тесты только те что без базы в ci запускаем, в идеале нужно полный цикл прогонять. На стейдже грузим на сервер, деплой запускаем уже в докер среде (так быстрее и экономичнее у нас)
чем кстати автоматизировали это ?
загрузку на стейдж и запуск в докер среде
ну там как сделали: на стейдже поставили docker-compose среду, сильно похожую на ту, как разрабатываем локально. Грузим через github исходники в нужную папку на удаленный сервер. Папка прокинута в докер. Потом с github вызываем инструкции docker compose exec blablabla чтобы установить композер и сбилдить ассеты
Почему возник вопрос: С деплоем golang/js - всё довольно однозначно, в php же есть возможность 1 раз сбилдить окружение и просто подтягивать изменения (попутно очищая кеш/перезапуская контейнер)
я может что-то не до конца понимаю, но почему тогда не билдить каждый раз готовый docker образ в CI/CD, и затем его раскатывать куда нужно, если у вас докер на проде?
Да, вариант не плохой. Кстати, можно поинтересоваться, почему вы не используете docker на проде?
так исторически сложилось. Докер начали подтаскивать только последние несколько лет назад и начали с локального окружения. Потом заменили девел. Так и до прода дойдем 🙂 Еще одна проблема с докером, это то, что требует доп знаний по обслуживанию, и маленьким командам может быть сложнее с этим.
Получаете на деве вы не пулите образ а просто экспортируете код отдельно и прокидываете в докер ?
да, код в прямом доступе на сервере лежит, и соответственно если что его всегда можно подебажить на месте без лишних усилий, если вдруг какой-то баг на стейдже найдут. А докер сделан для упрощения поддержки идентичной среды. Ну или как то так. Насколько я понимаю, если бы готовый образ собирали, до кода было бы тяжелее добраться
Обсуждают сегодня