Я просмотрел руководства TFS rangers, прежде чем опубликовать это.
В нашем проекте у меня есть следующие требования:
- Происходит разработка версии 1
- Она развертывается в среде Dev для интеграции и проверки работоспособности
- Если все в порядке, то код развертывается в среде QA
- ] Если все в порядке, выпущенный код QA будет развернут в продакшене.
В настоящее время у нас есть кодовая база в TFS под CODE, где разработчики кодируют.
Вышеупомянутое ответвлено на DEV для отражения кода среды разработки
Ветвь DEV ответвлена на ветвь QA
В в случае, если требуется оперативное исправление, оно фиксируется непосредственно в ветке QA, а затем позже объединяется в обратном направлении с ветвями ниже.
Это было нормально до первой разработки, но я считаю, что это нужно реструктурировать, чтобы обеспечить лучшую масштабируемость для разработки будущих выпусков.
Текущие проблемы:
- необходимо запланировать поддержку разработки будущего выпуска 1.5.
- На данный момент есть некоторые функции / исправления, которые могут / не могут быть включены в текущий выпуск
. Разработчики просто откладывают его в данный момент, чтобы
его можно было убрать в будущем. Проблема в том, что со временем полки становятся
огромной проблемой для объединения, поскольку у них нет истории
- Иногда люди работают над большими функциями на полках до недели.
Объединение становится огромной краской, поскольку до этого с десятками файлов
тоже работали многие люди.
Помня все вышесказанное, я подумываю о переработке нашей стратегии ветвления TS, как показано ниже:
В соответствии с этим подходом:
Разработка будет происходить только в ветке разработки, такой как ветка DevRel1
Если разработчик должен работать над большой функцией, он будет работать над веткой
, такой как ветка Feature 1, ветвью Dev.По завершении
он снова сливается с веткой разработчика.
- Для вероятных функций, которые могут или не могут быть включены в этот выпуск, при разработке
необходимо поработать, вероятно, над функцией, ответвленной из основной ветки.
Согласно окончательному решению, база будет меньше объединена в соответствующую ветку
разработчика.
- Код будет развернут в среде Dev из ветки Dev
- Код будет развернут в ветке QA из Main
- Для выпуска основная ветка будет разветвлена в новую ветку выпуска
- Горячие исправления в QA происходят на Main ветвь, а при выпуске происходит в ветке выпуска
. RI из выпуска происходит с основным, а от FI к ветвям dev
в этом случае
Это становится слишком сложным? можно ли его упростить, выглядит ли это нормально или требует исправления?
В настоящее время мы используем TFS 2008.
задан user151019 11 May 2012 в 20:07
поделиться