Почему мы увеличиваем номер сборки каждый раз, даже для ночной сборки? - PullRequest
2 голосов
/ 10 января 2012

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

В нашем проекте мы будем увеличивать номера сборки только тогда, когда выпускаем их для тестирования системы.

Пожалуйста, кто-нибудь, проясните мне. Каковы все преимущества увеличения номера сборки каждый день.

Ответы [ 4 ]

4 голосов
/ 10 января 2012

Используется для различения разных сборок.

Как вы хотите ссылаться на определенную сборку, если есть некоторые с одинаковыми номерами версий?

Вы делаете сборки по двум причинам:

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

Итакнеобходимо документировать изменения и результаты, и если есть проблема, вам нужно обратиться к правильной версии.Если вы хотите отследить проблемы, гораздо проще, если вы знаете, какие изменения были сделаны.

0 голосов
/ 17 февраля 2012

Я бы порекомендовал формат версии как major.minor.hotfix.build . Это обеспечивает гибкость использования различных вспомогательных сборок для основного выпуска в будущем, когда мы хотим поддерживать выпуски исправлений.

'build' может быть приращением, которое увеличивается для каждой сборки для идентификации сборок группами тестирования, если они распределены по всему земному шару, поскольку каждая группа тестирования хочет последнюю сборкучтобы проверить новые исправления.Иначе, мы могли бы иметь активный список изменений ветки, чтобы мы могли легко определить, какая часть кода имеет сборка.

0 голосов
/ 10 января 2012

Мы используем формат сборки major.minor.xyyyy.mmdd, где x зарезервировано, а yyyy - счетчик, увеличивающийся каждый час. Этот формат используется только для развертывания и выполняется 2 раза в день. Значение приращения счетчика должно быть установлено, чтобы гарантировать уникальные версии сборки и время жизни версии major.minor (для гггг = 9999 = 9999 часов). Например, для ClickOnce требуется уникальная версия сборки. Счетчик устанавливается в ноль при изменении основной / вспомогательной версии (или разветвленной новой версии).

Для обычных сборок (не используется для сценария развертывания) мы используем версию сборки major.minor.0.0. Это необходимо для инкрементных сборок, потому что если вы измените версию сборки, ваши проекты будут перестроены. Это не очень хорошая идея для больших проектов (в моем случае 500+), потому что восстановление может занять очень много времени.

0 голосов
/ 10 января 2012

Я предпочитаю использовать схему нумерации, которая связана с изменением, а не с датой.Я обычно использую SCM с концепцией нумерованного набора изменений (Subversion - tfs).

Поэтому связь между сборкой и scm поддерживается, и вам не нужно вести запись номера запущенной сборкии этикетка уже сделана для вас.Если я регистрируюсь на changeset 45678, то сборка 1.2.45678 (где ваша основная младшая версия 1.2).

Я бы не стал связывать номера сборок с днем.Это не лучший подход.

...