@usermuser

Как по уму развернуть проект?

Имею следующую конфигурацию проекта:
1. В папке /mysite на локальном компьютере;
2. В папке test.example.com - на сервере (VPS)
3. В соседней папке "боевой" сайт exampe.com

На test.example.com проект сливается из репы.
Развёртывания test.example.com на example.com пока нет - об этом и вопрос.
Как лучше сделать — прямым копированием папки или через репу (имеет ли смысл использовать для этого ещё одну репу )?

test.example.com работает с "боевой" базой данных, это даёт возможность на деле проверить изменения, сделанные на локали и слитые через репу на тестовый сайт.

Но тут есть проблема: например, изображения, загруженные через тестовый сервер грузятся в его же папку (с относительными путями), соотв. на "боевом" они не показываются. Это говорит о том, что папку с изображениями надо копировать ручками. Или весь тестовый сайт сливать в дополнительную репу, а из репы разворачивать в папке example.com "боевой", уже собранный сайт? Как лучше поступить, посоветуйте, братцы?

Я так понимаю, что пересекаются два интереса: первый — работа над кодом/дизайном сайта и обновление оного, второй - возможность использовать новый функционал тестового сайта для загрузки материалов на сервер, с последующим обновлением кода/дизайна (т.е. для конечного юзера сразу появляется и новый функционал и материалы). И похоже, уши проблемы торчат на перекрёстке этих интересов. Как разрулить ситуацию?
  • Вопрос задан
  • 1674 просмотра
Пригласить эксперта
Ответы на вопрос 2
Если уж так хочется держать тест на проде и боевых данным:
1. Папки с загружаемым контентом заменить на симлинки в общее хранилище. Тогда они будут везде доступны.
2. "боевую" версию выкладывать из гита конечно. Напишите маленький скриптец который сразу все делает - обновляет исходники, зависимости(composer/pip что у вас там) ну и накатывает миграции. Ну или используйте любой софт для деплоя.
3. На тестовую версию будет удобно сделать вытовыкат изменений с каждым коммитом. Используйте вебхуки для этого.
Ответ написан
@mvsavkin
Continious Integration, в частности Jenkins.

То что делаете ручками нужно оформить скриптами.
Ответ написан
Комментировать
Ваш ответ на вопрос

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

Похожие вопросы