Как вы обрабатываете управление версиями в веб-приложении?

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

Я заметил, что здесь, в бета-версии, в нижнем колонтитуле есть номер версии svn, и это идеально подходит для приложения, которое использует svn над одним хранилищем. Но что делать, если вы используете внешние приложения или другое приложение для управления версиями, которое поддерживает отдельные файлы?

Кажется легким для настольного приложения, но я не могу найти подходящий способ управления версиями для веб-приложения asp.net.

NB Я не уверен, что я полностью понял свой вопрос.

  • Я хочу знать, как создавать и автоматически увеличивать номер версии для приложения asp.net.
  • Мне не интересно, как связать его с svn.

Ответ 2

Для моих больших приложений я просто использую инкрементный номер версии id (1.0, 1.1,...), который я храню в комментарии основного файла (обычно index.php).

Ответ 3

У меня есть тенденция придерживаться основных целых чисел сначала (1,2,3), перемещаясь на рациональные числа (2.1, 3.13), когда вещи становятся больше...

Пробовал использовать фрукты в какой-то момент, что хорошо работает для небольшого офиса. О, "банановый" выпуск? заглядывает в угол "да... это становится довольно старым сейчас..."

К сожалению, началось замешательство, когда команда разработчиков выросла, это оранжевый, или мандаринский, или Tangelo? Это нормально. Что вы имеете в виду "гнилые изнутри?"

... но честно. Создайте отдельный репозиторий в качестве мастера, разработка продолжается в разных хранилищах. Для каждого запланированного выпуска все проверяется в главном репозитории, чтобы вы могли быстро откат, когда что-то пошло не так. (Я предполагаю, что dev/test/production - это все отдельные серверы, и разработчику никогда не разрешается касаться производства или мастер-репозитория....)

Ответ 4

Я поддерживаю систему веб-приложений с различными компонентами, которые живут в отдельных SVN-репозиториях. Чтобы иметь возможность версии отслеживать систему в целом, у меня есть другое SVN-репо, которое содержит все другие репозитории как внешние ссылки. Он также содержит установку/настройку script для развертывания всего этого. С этой установкой номер версии SVN "metarepository" может быть использован для управления версией всей системы.

В другом случае я включаю версию SVN через ключевые слова SVN в файле класса, который не служит никакой другой цели (во избежание риска замены ключевого слова моим кодом). Класс в этом файле содержит строковую переменную, которая обрабатывается SVN и анализируется методом класса.

Неудобство с обоими подходами заключается в том, что номер ревизии не обновляется автоматически изменениями внешних (подход 1) или остальной части кода (подход 2).

Ответ 5

Во время внутреннего развития я использую вехи (M1, M2, M3...). После релиза я, вероятно, просто обновляю даты ( "обновление за январь 2009 года" ).