AssemblyInformationalVersion
и AssemblyFileVersion
отображены, когда Вы просматриваете информацию "о Версии" о файле через Windows Explorer путем просмотра свойств файла. Эти атрибуты на самом деле компилируются в в VERSION_INFO
ресурс, который создается компилятором.
AssemblyInformationalVersion
значение "Версии продукта". AssemblyFileVersion
значение "Версии файла".
Эти AssemblyVersion
характерно для блоков.NET и используется загрузчиком сборок.NET для знания который версия блока загрузить/связать во времени выполнения.
Из них, единственный, который абсолютно требуется.NET, эти AssemblyVersion
атрибут. К сожалению, это может также вызвать большинство проблем, когда это изменяется без разбора, особенно если Вы - строгое именование Ваши блоки.
Subversion имеет обработчиков фиксации , которые позволяют выполнять действия над фиксацией.
Вы также можете посмотреть на решение для непрерывной интеграции, такое как CruiseControl.net или Team City .
Наш процесс заключается в том, что отдельные разработчики работают над локальными конфигурациями. Мы обязуемся использовать Subversion, а CruiseControl.net проверяет и строит систему каждый раз, когда кто-то из нас совершает коммит.
Есть запланированная сборка для установщика обновлений, который запускается еженедельно и обновляет установку на сервере, который QA использует для проверки исправлений. После проверки исправлений кто-то (вручную) применяет обновление, которое было применено к серверу контроля качества на производственных сайтах.
Я бы порекомендовал посмотреть ловушки после фиксации, как предлагает nickd. Вы даже можете отклонить фиксацию, если она не будет создана (скажем, вы генерируете HTML-файлы из некоторых «исходных» файлов, и если эта сборка не удалась, вы можете ожидать, что человек исправит это до фиксации).
- как сделать обновление web-dev после фиксации SVN?
- как развернуть исправления на производственном сервере?
Либо автоматически, с помощью ловушки, либо вы можете рассмотреть возможность ручного «svn update» на производственных машинах , который дает вам контроль над тем, когда, какую ревизию и т. д. использовать.
Книга SVN - отличное чтение. Можно прочитать только соответствующие разделы и вернуться позже, чтобы узнать больше. Вы используете ствол и теги - они хлеб с маслом для использования svn и управления выпуском.
Можно прочитать только соответствующие разделы и вернуться позже, чтобы узнать больше. Вы используете ствол и теги - это хлеб с маслом для использования svn и управления выпуском. Можно прочитать только соответствующие разделы и вернуться позже, чтобы узнать больше. Вы используете ствол и теги - они хлеб с маслом для использования svn и управления выпуском.Модель, которую я успешно использовал, выглядит следующим образом
То, как мы это делаем, довольно просто, и, будучи небольшой командой, вы можете быть в курсе.
svn up
svn up
в живой среде (которая также является копией ствола), и я закончил. Я еще не сделал этого, но этот процесс можно упростить, добавив хук пост-фиксации для автоматического обновите среду разработки (как предлагали другие).
Вот как я делаю это уже несколько лет.
Dev Server - находится в доме, содержит стек LAMP, репозиторий и рабочую копию. Он имеет те же версии программного обеспечения, что и производственный сервер.
Производственный сервер - имеет промежуточную среду с рабочей копией репозитория, а также имеет производственную среду с версией проекта, отличной от svn (т.е. работающий сайт).
Разработчик - Имеет стек LAMP и рабочую копию репозитория на своей локальной машине.
Типичный процесс:
Разработчик обновляет рабочую копию проекта. Работает с локальной копией, когда текущие изменения сделаны и без ошибок, они проверяют копию обратно в репозиторий.
Перехватчик после фиксации обновляет рабочую копию Dev Server. Вы можете сделать это вручную, особенно если ваша команда начинает расти.
Если изменения работают на Dev Server, то рабочая копия в промежуточной среде обновляется вручную.
Если изменения работают в промежуточной среде, то мы используем RSYNC для передачи любых изменений из рабочей копии промежуточной среды в производственную среду.
Очевидно, что это очень общее объяснение того, что происходит, поскольку вы хотите интегрировать такие вещи, как модульное тестирование процесса, но я надеюсь, что это поможет.