Использовать теги или каталоги, чтобы распространять версии платформ в SCM? - PullRequest
1 голос
/ 12 апреля 2010

У нас есть ряд скриптов, которые используются при сборке Apache. В частности, эти сценарии используются для:

  • исправьте исходный код ванили,
  • патч в специфической функциональности клиента,
  • сборка и установка сервера Apache,
  • сборка пользовательских модулей и
  • создайте пользовательский архив установки, готовый к возможному развертыванию.

N.B. Развертывание tar-архивов и конфигов осуществляется другими независимыми механизмами. Эта система создает архив установки для доставки оператору, который затем выполняет развертывание в веб-ферме.

У нас есть версии этих патчей и модулей для:

  • разные версии ОС и ОС и
  • различные выпуски Apache.

N.B. Различные версии Apache, как правило, существуют только во время тестирования и перехода на новый выпуск Apache через веб-ферму.

Я теперь принес патчи и пользовательские модули в CVS, и в настоящее время они помечены в соответствии с версией выпуска Apache.

Должен ли я сохранять тегирование простым и использовать подкаталоги, чтобы различать элементы, специфичные для Linux и Solaris? Или мне следует сохранить одну структуру каталогов и использовать более сложные теги, чтобы различать элементы для разных ОС?

В настоящее время мы используем CVS и собираемся перейти на SVN.

1 Ответ

1 голос
/ 12 апреля 2010

Для платформенных версий обычно помогает:

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

Это не всегда возможно для всех типов сценариев, но если различия ограничены, такой подход позволяет вам использовать:

  • одна простая метка
  • один простой тег
  • одно центральное место для управления различиями, специфичными для платформы (сценарий «развертывания»)
...