Ласкаво просимо до dev.net.ua Увійти | Приєднатися | Допомога
А почему бы не ....

Недавно в очередной раз обдумывал проблемы автоматизации выкладывания релизов продукта. А точнее автоматического обновления системы с возможностью откатить обновления. Причем как обычно проблема возникает не в последнем обновлении, а где-то до этого и система отката, построенная на принципе бекапа всех файлов перед заменой уже мало чем поможет. Даже если бекапить только обновляемые файлы, встречаются проблемы с частичной заменой куска файла. К примеру, какого-то общего конфига и пр.

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

Т.е. имеем такое решение:

Есть ветка релиза в SC (source control), куда, по мере появления обновлений, разработчики коммитят собранные релизы, точнее только изменившуюся их часть.

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

Операция отката тоже очень тривиальна.

Очень удобно поддерживать много серверов с релизами и также сравнивать рабочие копии на серверах с текущим состоянием в SC.

 

Вот такие соображения. Они особенно актуальны для сиситем с небинарными файлами XML, XAML, HTML и пр ..

К сожалению на практике применить и опробовать еще не успел, но обязательно попробую.

Возможно, кто-то уже использует это, тогда поделитесь опытом и "подводными камнями".

Posted: Thursday, April 10, 2008 12:49 PM від demon_xxi
Помічено як:

Коментарі

Moristar сказав:

Классная идея! Надо как-нибудь опробовать

# April 10, 2008 7:12 AM

Mike Chaliy сказав:

Вже два проекта де я приймав участь використовують таку схему. А мій попередній роботодавець використовував VSS для папки на продакшені.

# April 11, 2008 6:21 AM
Анонімні коментарі деактивовані. Увійдіть або Зареєструйтесь щоб мати доступ до ресурсів Спільноти.