Организация системы обновлений

Статус
Закрыто для дальнейших ответов.

Snickers

Быдлокодер
Регистрация
05.11.2010
Сообщения
388
есть платформа которую я разрабатываю и использую более 3х лет.
за все время накопилось много людей и проектов использующих различные её версии и ветки развития.
не все багфиксы и модернизации можно применит ко всем версиям. к тому же некоторые правились ими же вручную.
встал вопрос о систематизации обновлений и распространения по различным веткам. для апгрейда всех к общей версии с последующей поддержкой.

вопрос в том, как не огрести люлей и не положить системы в случае порчи данных, затирания изменений и возможности отката в случае краха.

бэкапы одно, другой вопрос как в случае краха заставить их вернуть все на мест без долгой садомазохии со стороны меня и других программистов.

и как вообще лучше организовать процесс обновления.

если кто то поделится опытом, буду крайне признателен
 

rhamdeew

Well-Known Member
Регистрация
12.04.2012
Сообщения
57
Я так думаю вам нужно присмотреться к системам контроля версий.
Например SVN, Git...
В случае с git можно вообще развернуть на собственном сервере среду для разработки: Redmine + Git + Gitlab
Там же все поделить на различные ветки (стабильные и нестабильные)
 

Snickers

Быдлокодер
Регистрация
05.11.2010
Сообщения
388
Я так думаю вам нужно присмотреться к системам контроля версий.
Например SVN, Git...
В случае с git можно вообще развернуть на собственном сервере среду для разработки: Redmine + Git + Gitlab
Там же все поделить на различные ветки (стабильные и нестабильные)
я поднял вопрос не о организации разработки.
а о реализации системы обновлений. конечный пользователь не всегда разработчик. и обновление должно быть для него быстрым и максимум безопасным. как ты например винду или линуху обновляешь и не паришься.

мне интересны механизмы даунгрейда в случае краха системы. ну и желательного от человека имевшего опыт в этом
 

BaNru

Пацифизжу
Команда форума
Регистрация
13.11.2010
Сообщения
4 138
А посмотреть в готовых CMS, например в вордпрессе?
Хотя в вордпрессе при обновление предупреждают о создание резервной копии )
 

rhamdeew

Well-Known Member
Регистрация
12.04.2012
Сообщения
57
Я так думаю вам нужно присмотреться к системам контроля версий.
Например SVN, Git...
В случае с git можно вообще развернуть на собственном сервере среду для разработки: Redmine + Git + Gitlab
Там же все поделить на различные ветки (стабильные и нестабильные)
я поднял вопрос не о организации разработки.
а о реализации системы обновлений. конечный пользователь не всегда разработчик. и обновление должно быть для него быстрым и максимум безопасным. как ты например винду или линуху обновляешь и не паришься.

мне интересны механизмы даунгрейда в случае краха системы. ну и желательного от человека имевшего опыт в этом
Ну а так причем здесь разработка. Можно запилить стабильные ветки и обновляться, даунгрейдиться с них. С git будет работать скрипт прозрачно для пользователей.

Можно еще глянуть как в Drupal реализован механизм обновлений.

А так обычно практически везде есть так называемое ядро системы (+ модули еще) которое перезаписывается в случае обновления и пользователей предупреждают что туда ничего своего заливать не стоит.
Файлы же скорее всего сверяются по CRC и те что отличаются стягиваются и заливаются (тут обновление будет проходить долго) либо где-то в системе будет указан конкретный билд и в зависимости от него с сервера будут сливаться уже подготовленные пакеты обновлений (только различающиеся файлы)
В популярных CMS вариантов с даунгрейдом не видел (только бэкапы).

Личным опытом написания подобных штук я вам скорее всего не помогу, так что сливаюсь из темы =)
 
Статус
Закрыто для дальнейших ответов.
Верх Низ