Deployment, Gti, Gitify, Teleport или что-то иное?

Добрый день, подскажите пожалуйста как вы решаете проблемы версионизации рабочего сайта. Допустим у меня есть сайт на локальной машие, на staging и на production серверах. Использование статических елементов (сниппеты, чаник и т.д.) в связке с Git решает многое но не все, например: на двух локальных машинах были установлены дополнительные модули, или два разных программиста перевели один и тот же чанк с динамического на статический указав им разные пути, или заказчик тестируя на staging в контенте ресурса добавил данные, которые потом захочет увидеть у себя. То есть практически все проблемы из-за базы данных.
При разработке дополнений Git помогает, а вот при поддержке рабочего сайта не могу найти правильное решение. Подскажите как вы решаете такие проблемы?
Alex Fesenko
19 июня 2015, 08:25
modx.pro
1 151
0

Комментарии: 2

Іван Клімчук
20 июня 2015, 23:53
1
+3
Перепробовал уже много вариантов. Пока что Gitify максимально приблизился к тому, что хотелось бы, но все равно не то. modx.today через него полностью деплоится, для примера. Есть исходники github.com/modmore/MODX.today

В остальном деплой MODX — БОЛЬ. Код в базе сподвигает на велосипеды и костыли. Я люблю MODX, но эта мелочь многое портит (ложка дегтя так сказать).

В идеале видится схема такая.
Рабочие копии (у программистов) разворачиваются через Gitify. Код туда-сюда гоняется легко, есть в последних версиях разрешение конфликтов ID (когда 2 разработчика создали разные чанки с одним id например) и умное удаление «мусора» (удалил файл и следом удалилась запись из БД на сайте). На stage тоже код попадает через gitify. Со stage код должен упаковываться в транспортный пакет и устанавливаться на продакшен. Тут поможет Teleport. Но в таком случае доступ на продакшен для всех через админку закрыт. Изменения должны вноситься заказчико на stage, а затем попадать на продакшен. Такой подход касательно Teleport одобрил Jason Coward, когда в общем чате в Slack это обсуждалось (Teleport его рук творение).
У подхода есть плюсы: продакшен изолирован от вмешательства человека, живет как отдельное приложение (данные, генерируемые пользователями не относятся к разработке и не нужны на dev-машинах, заменяются фикстурами).
И минусы: настраивать такое для рядовых проектов накладно, требует много ресурсов для поддержки, в свое очередь не выгодно для коротких или малых проектов.
Но если делается совсем большой проект, то стоит задуматься, а нужен ли MODX? Каким бы фанатом и евангелистом я не был, реальность сурова: MODX дорог в эксплуатации на очень крупных проектах, хотя и позволяет экономить на старте.
    Alex Fesenko
    23 июня 2015, 10:56
    0
    Я пробовал Gitify в связке с Git, не знаю правильно это или нет, но более мение работать можно, хотя если прыгать с комита на комит, могут возникнуть проблемы, по карйней мере у меня такое было с плагинами, думаю это из-за того что Gitify еще нуждается в доработке. С последним предложением согласен на все 100, давно думаю переходить на фреймворк. Спасибо за толковый ответ.
    Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.
    2