приложений (php-fpm),
разработчики хотят по привычке использовать Atomic deployment (переключение на новый код через симлинки, https://buddy.works/guides/5-ways-to-deploy-php-applications#4-zero-downtime-atomic-deployment) для переключения
на новую версию приложения (чтобы им сильно потом не переделывать CI/CD для нового способа).
Я понимаю, что в докере есть по сути 2 подхода: собирать образ сразу с кодом или биндить его извне (-v /some/app:/var/www/html). Вот идем пока второму способу, но есть проблемы как организовать переключение
симлинков на новую папку и как такие действия отражаются в контейнере (не работает). Можете накидать почитать каких-нибудь ссылок по подобной реализации?
зачем собирать контейнер с пхп и кодом ? это же не удобно. да и "проброс" симлинков так себе идея. почему бы не собирать и доставлять код в отдельном контейнере ?
И чем же это неудобно? Сборка «код + среда исполнения» - это то, для чего контейнеры и придумали
По теме: либо отказывайтесь от докера, либо уговаривай девелоперов соглашаться на докер и показывай, как сделать атомик деплой на нем. Второй способ удобнее и красивее, если правильно донести, то прокатит. Иначе ты ничего кроме проблем не огребешь
вторым способом (чере bind mount) как можно сделать удобный atomic deploy? речь про git pull/git checkout?
Надеюсь речь не про прод
пока нет, а как надо на проде? (в случае не выбора пути упаковки приложения в образ)
Упаковка в образ единственный вариант для прода. Остальное дичь
Удобным - никак. Запускай пхп через какой-нибудь runit, монтируй директорию со всеми кодовыми базами и свитчи линки & дергай анус для рестарта пхп
Я ему об этом и говорю. Не идет докер - пусть выкидывают и по старинке все делают. Но у человека идея фикс
у меня нет такой идеи фикс, я уточняю варианты, собственно и приветствовалась правильная аргументация. В общем всё понятно, спасибо
Обсуждают сегодня