Недавно у нас был проект, в котором мы выпустили бета-версию большого веб-приложения на сервере нашего клиента. Наш клиент попросил нас исправлять ошибки по мере их поступления, и мы попытались сделать это таким же образом. Обычно создание приложения на нашем сервере-прототипе намного проще, так как мне просто нужно выполнить простую команду svn up, которая занимает секунду.
Но в производственной среде у нас нет доступных инструментов контроля версий. Можно ли автоматизировать работу по установке исправлений, чтобы нам не приходилось заходить на ftp и загружать каждый файл по одному?
Так работать очень сложно. Поскольку у меня возникла эта проблема, наверняка некоторые из вас уже решили ее. Поделитесь, пожалуйста, своими решениями.
С нетерпением жду ваших ответов ... Большое спасибо за чтение, ребята.
Зависит от используемой вами среды программирования. В Smalltalk и сервере веб-приложений, таком как Аида / Интернет, мы можем обновлять действующие веб-приложения на лету, не останавливая его.
Сервер подключен к выбранному SCM, например, Monticello для Squeak Smalltalk или Store для VisualWorks. Затем новые версии вручную или автоматически загружаются в образ Smalltalk сервера.
В зависимости от инструментов, доступных на сервере, вы можете либо сделать svn diff -r x:y
, где x - это ревизия, которую вы обновляли в последний раз, а y - последняя ревизия, которую вы хотите обновить (возможно, последняя ревизия в вашем репозитории), чтобы сгенерировать патч, а затем применить патч с командой patch
.
Если rsync
доступен на производственной платформе, и вы можете его использовать (например, ssh), вы можете настроить дерево, готовое к производству, выполнить синхронизацию его на производственном сервере, а когда появится обновление, svn обновит ваше производственное дерево и rsync снова.
Что мешает вам установить клиент Subversion на рабочий сервер?
[РЕДАКТИРОВАТЬ] Итак, кто-то не позволяет вам устанавливать необходимое программное обеспечение на сервер. Возникает вопрос: что важнее? Стабильный рабочий сервер или произвольная политика? Если кто-то не слушает аргументы, подойдите к компьютеру, запустите MS Word и напишите это письмо:
«Настоящим я отказываюсь принимать на себя ответственность за стабильность нашей производственной системы на основании того факта, что [вставить имя здесь] отказывается снабжать меня инструментами, чтобы убедиться, что производственная система содержит все необходимые файлы и данные после установки. "
Подпишите это, попросите вашего начальника подписать его, а затем отправьте копию [вставьте здесь имя]. Внезапно любая проблема, которая может возникнуть после установки, окажется на его территории. Или, говоря более ясно: он будет нести ответственность за любую ошибку, которую вы можете совершить.
Теперь все, что вам нужно сделать, это подождать. :)