Как было раньше.
Условно говоря, на хостовой машине поднималось два контейнера:
- php-fpm
- nginx
При деплое Capistrano или тот же Deployer делал симлинк на новую ревизию на директорию /app, котнейнеры обновлялись, всё работало как часики.
Сейчас «лучшие практики» говорят о том, что нужно собирать полноценные контейнеры, класть в них ВСЁ что может понадобиться и деплоить целиком контейнеры.
В такой схеме всё хорошо, вроде всё понятно, но столкнулся со следующим вопросом, а что делать ассетами (которые создаются в web/assets)? Ведь статику отдает nginx, как собрать контейнер со всеми ассетами?
Мне видится три варианта:
1. Сгенерировать их на этапе сборки, но если за свой код я могу как то отвечать и собрать ассеты на этапе сборки, то помнить обо всех сторонних модулях – проблема
2. Класть ассеты на S3. Вариант годный, но в малобюджетном проекте это дорого
3. Создать volume «assets» и шарить его между php-fpm и nginx
Подскажите пожалуйста, я что то упускаю и возможно есть какой то простой вариант?
Спасибо.