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

#backup #restore

#резервное копирование #восстановить

Вопрос:

Допустим, я обновляю приложение и обновил 10 файлов из 100. Я внес эти изменения на своей тестовой машине и работаю, но теперь я хочу зафиксировать эти изменения на рабочей машине. Какой вариант у меня есть.

Идеальными сценариями были бы.

  1. Я сохраняю существующие файлы, которые я заменяю
  2. Я копирую новые файлы поверх старых.

Если изменения не проходят успешно, я могу отменить процесс и восстановить старые файлы. Каков наилучший способ сделать это. Допустим, я говорю об ASP.NET приложение. Я также буду обновлять инструкции SQL, но я могу использовать ядро в отдельном SQL-скрипте и не беспокоиться об этом в этом обновлении.

Я знаком с пакетными сценариями, но есть ли лучший способ сделать это с графическим интерфейсом (хорошо, я могу создать приложение с графическим интерфейсом и запустить пакетный файл из графического интерфейса).

Есть кто-нибудь, кто делал что-то подобное?

Ответ №1:

Из вашего описания следует, что вы хотите контролировать свои изменения. Используйте систему контроля версий, такую как SVN или Git (http://en.wikipedia.org/wiki/Git_(software) ).

На высоком уровне, как только вы вносите изменения в свой код, вы проверяете эти изменения и получаете номер редакции, который конкретно определяет самое текущее состояние файлов на тот момент (например, редакция 17). Затем вы могли бы переключиться на свой рабочий сервер и обновить набор файлов до версии 17, а затем скомпилировать / что угодно. Если все идет не так, как планировалось, легко вернуться к любой предыдущей версии (скажем, к версии 15, которая была на рабочем сервере до того, как вы извлекли и создали версию 17).

Хороший RCS будет управлять всеми вашими файлами таким образом, чтобы они были «скопированы», и вы сможете восстановить код / двоичные файлы / конфигурационные файлы / все, что у вас было в любой момент времени, обратившись к его номеру редакции.

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

1. Это хороший момент, но я хочу более простое решение, как того требуют менеджеры. Они хотят что-то простое, что они могут сделать и отменить, например, установить обновление. Если это не сработало, удалите его. Установка будет просто копировать файлы в другое расположение.

2. Это, вероятно, самый близкий ответ, но я хотел что-то вроде программы, которая выполнит установку / обновление. Возможно, это будет слишком сложно. SVN может пригодиться.