У меня недавно была беседа с коллегой о версиях веб-приложений.
Я не думаю, что вам это нужно вообще, и если вы просто хотите проверить работоспособность вашего последнего релиза, я думаю, что дата (ГГММДД), вероятно, достаточно хороша.
Я с базы? Я упускаю суть? Должен ли я использовать номера версий веб-приложений
источник
Если вы можете автоматизировать номер версии в DLL вашего приложения, это не повредит. Это поможет вам отслеживать версии.
Как правило, веб-приложения выпускаются только в одном месте, где вы их размещаете, поэтому это не так важно, как, например, в настольном приложении. Он может помочь с откатами, отслеживанием ошибок (то есть, в какой версии это было) и отслеживанием различий между разработчиками, промежуточными и производственными серверами, если это применимо.
Я бы посмотрел на автоматизацию этого - такую вещь вы можете настроить один раз и использовать, если / когда вам это нужно.
источник
Ваши пользователи не заботятся о номерах версий, так как у них всегда есть последний и самый лучший выпуск, но вы должны сами (и ваша команда) точно знать, какая версия работает вживую. В конце концов ваш источник разработки не синхронизируется с живым кодом, и тогда вы обязательно должны знать. Поэтому пометьте свои выпуски в дереве svn / git и пометьте веб-приложение этим тегом.
источник
Если у вас есть экземпляры dev / test, для членов команды проекта очень важно видеть, какую сборку / ревизию они тестируют.
источник
В дополнение к тому, что сказали другие, я бы добавил, что управление версиями также важно с точки зрения маркетинга. Новая версия - это нечто новое, что может быть продано потенциальным или существующим клиентам. Это позволяет клиентам узнать что-то «новое» и увидеть, что все движется вперед. Это обеспечивает хорошие группировки новых функций. И это выглядит более профессионально.
источник
Я говорю, что для всего, кроме тривиального веб-приложения, вы должны сделать это. Здесь работают два, несколько разных понятия:
Независимо от ситуации, я считаю, что файлы должны иметь индивидуальные номера версий (или версий). В идеале это будет обрабатываться автоматически вашей системой контроля версий. Как было сказано другими, проще ссылаться на номер версии файла, чем на его дату и время.
Если у вас есть (или может быть) более одной оперативной установки приложения, оно должно быть полностью версионным. Это также хорошая практика, если у вас есть отдельные среды разработки и тестирования (как вы, вероятно, должны). Номер версии каждого приложения (или выпуска) относится к набору отдельных файлов с определенными номерами версий. Хотя справляться со всем этим является дополнительным бременем, проще извлечь конкретный выпуск, чем отдельные файлы с конкретными номерами редакций.
Это заставляет меня думать о понятии в лингвистике. Говорят, что если вы не можете выразить что-то на языке, вы не можете думать об этом (на этом языке). Я думаю о немецком слове «Schadenfreude». Намного легче думать (и говорить) об этом понятии «чувствовать радость от чужой беды», ссылаясь на это слово, чем на его определение. Вот почему слово закралось в английском языке.
Точно так же номера версий облегчают говорить (и думать) о вашем приложении и его файлах в определенных состояниях. Если вы работаете над одним приложением и работаете над одним человеком, это вряд ли что-то изменит. Однако по мере того, как все усложняется, вам лучше иметь эти ярлыки для использования.
источник
Вы должны создать версию своего веб-приложения с идентификатором сборки с сервера сборки и включить этот идентификатор во все отчеты об ошибках.
Это позволит вам вернуться назад во времени, если вам необходимо исправить ошибку, о которой сообщалось в более старой версии, которая в настоящее время отсутствует в производстве.
источник
Из вашего вопроса ясно, что вы имеете в виду простое веб-приложение
Доступно только через веб-интерфейс, а не через веб-сервис (API) . Если у вас есть пользователи, которые обращаются к приложению с помощью API, вам нужно его версию. Если вы меняете API, вы нарушаете работу клиентов, поэтому вам нужно одновременно поддерживать другую версию API.
Только один экземпляр работает в данный момент . Даже если у вас есть только веб-парень, если у вас есть больше установок, вам нужно знать, какой клиент использует какую версию.
С приемлемым временем простоя для обновления живой версии. Возможно, существует огромная проблема - база данных . Важные изменения в более новых версиях связаны с изменениями в базовой структуре данных. Если у вас запущена только одна версия, вам, вероятно, придется отключить старую версию, обновить базу данных и включить новую версию. Что приводит к простою приложения. Это может быть приемлемым в зависимости от количества и типа пользователей.
источник
У нас есть только первая, поэтому мы используем номер версии только для проверки работоспособности после выпуска. Нам не нужно отслеживать много версий одновременно.
источник
Если ваше веб-приложение состоит из нескольких модулей, как на клиенте, так и на сервере, каждый модуль должен быть версионным. И каждой комбинации версий модуля на клиенте и сервере должен быть присвоен уникальный идентификатор, который должен присутствовать во всех сообщениях журнала и сообщениях об ошибках.
Используя это соглашение, всегда можно будет воссоздать состояние, в котором было веб-приложение в данный момент.
По моему мнению, поскольку в наши дни веб-приложения создаются с использованием динамических языков с обеих сторон, сервера и клиента, не должно быть никаких причин для перезагрузки обновленного веб-приложения, если пользователь не перезапустит браузер или не перезагрузит страницу вручную.
Только обновленные части или модули в веб-приложении должны быть перезагружены, не влияя на общее состояние приложения.
Почему вы можете спросить? Что ж, благодаря этому веб-приложение по своему дизайну будет более надежным, правильным и, вероятно, более простым в обслуживании. Если веб-приложение всегда требует одновременного обновления сервера / клиента, то оно, вероятно, построено неправильно.
источник
Да, вы должны сделать это! И в вашей системе контроля версий должен быть тег (такой как subversion, git, mercurial и т. Д.), Который соответствует номеру версии.
Тег позволяет вернуться и сделать ветку. Например: в текущей производственной версии есть ошибка, но вы не можете ее исправить, потому что код на вашей машине просто не готов выкатить дверь. Если вы пометили его в своем RCS, вы можете перейти на этот тег и исправить ошибку в точной версии кода, работающего в производстве.
источник
Лично я думаю, что вам все равно следует создавать версии, но одно большое преимущество версий веб-приложений, характерных для веб-сайтов, заключается в том, что они могут значительно облегчить управление изменениями статического содержимого.
Например, допустим, у вас есть файл mysite.css, у которого есть дата истечения в будущем (что вы обычно хотите сделать, чтобы он кэшировался в браузере на каждой странице). Если вы затем измените стиль в этом файле, никто, кто был на вашем сайте раньше, не увидит его, если он не сделает что-то, чтобы удалить этот файл из своего кэша.
Если вы работаете с версионным сайтом, вы можете изменить все ссылки на css в вашей сборке на что-то вроде mysite.css? V = 1234, что позволит вам сохранить дату истечения в далеком будущем и не беспокоиться о будущих изменениях, как в следующей сборке. будет mysite.css? v = 1235.
источник
Да, ты должен. По причинам распространения, указанным здесь другими ответами.
Но я вижу, почему ты задаешь вопрос. Подход к веб-приложениям определяется стоимостью. Это противоположно традиционному подходу термоусадочной упаковки, где расходы включают физические носители, распространение, установку, печатную документацию, обучение и техническую поддержку. Все, что может быть исключено, должно быть исключено.
источник
Просто для ясности, я предполагаю, что вы говорите о каком-то видимом для пользователя номере версии, а не отказываетесь от контроля версий в процессе разработки. (если вы думаете, что вам не нужен контроль версий в разработке, значит, вы ошибаетесь, вам нужен контроль версий).
Для проекта с одним хостом это не является строго необходимым, потому что, если возникают какие-либо вопросы, вы всегда можете посмотреть на хост и подтвердить, что действительно работает. Хотя это довольно мило, потому что может пригодиться раз или два. Это действительно зависит от вас, считаете ли вы, что это будет полезно или нет.
Для многопользовательского проекта это не является обязательным. Разные хосты в конечном итоге получат разные версии, и вам нужно будет различать их на стороне пользователя.
источник