dajnz
@dajnz
Frontend и backend web-разработчик

Как правильно организовать структуру SPA проекта с учетом удобства контроля версий и деплоя?

Здравствуйте,
требуется организовать проект по разработке одностраничного приложения (SPA), при этом фронтенд должен разрабатываться на одном из популярных js фреймворков, и подразумевается сборка проекта системой сборке на основе gulp/webpack. Бэкенд должен быть реализован на Laravel 5.х.

Итак, есть фронтенд часть, которая на выходе дает сборку js скриптов и используемых ими ресурсов (css, картинки и др.), и эта сборка должна сопрягаться с Laravel бэкендом.

Вопросы:
1) как наиболее корректно весь исходный код проекта версионировать (пусть с помощью git)? Сделать один общий репозиторий или отдельно для бэкенда и фронтенда?
2) как сделать так, чтобы было легко выполнять развертывание проекта (деплой)? По идее, хорошо иметь слепок/версию проекта, содержащую актуальную сборку фронтенд части, актуальный код бэкенда + миграции. Дилемма (лично для меня) тут в том, что для развертывания не нужны исходники фронтенда, только готовая сборка. Сборка постоянно пересобирается сборщиком. Если делать общий репозиторий, то в него будут попадать исходинки фронтенда, которые не нужны на продакшен сервере при деплое. Если делать два разных репозитория для фронтенда и бэкэнда, то как синхронизировать актуальную сборку и соответствующую ей версию бэкэнда, ведь по хорошему это должно быть в одном репозитории.

Надеюсь, что не слишком сумбурно, прошу совета или ссылок на какие-нибудь доки, способствующие просветлению в этом направлении.
  • Вопрос задан
  • 373 просмотра
Решения вопроса 1
@t38c3j
разделить лучше на репозитории
например: "project-front-end" и "project-back-end"
можешь создать еще репозиторий просто с именем "project" и сделать два подмодуля на фронт и бэкенд

не знаю как на одиночном развертывание но при масштабирование будет достаточно удобно
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы