Как вы поддерживаете код разработки и производственный код? - PullRequest
131 голосов
/ 19 октября 2008

Каковы наилучшие практики и практические правила, которым необходимо следовать при поддержке кода? Рекомендуется ли иметь только готовый к работе код в ветке разработки, или в ветке разработки должен быть доступен непроверенный последний код?

Как вы поддерживаете свой код разработки и рабочий код?

Редактировать - Дополнительный вопрос. Использует ли ваша команда разработчиков протокол "как можно скорее, и часто даже если код содержит незначительные ошибки или неполон" или протокол "commit-ONLY-perfect-code" при фиксации кода в ветке DEVELOPMENT?

Ответы [ 12 ]

0 голосов
/ 19 октября 2008

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

Каждый проект или, в некоторых случаях, другой модуль, имеет свою ветвь, которая ветвится с момента выпуска.

Изменения фиксируются разработчиками проекта в собственной ветке своего проекта. Периодически релиз сливается с веткой разработки.

После того, как все рабочие пакеты в ветви будут QA'd (модульный тест, системный тест, проверка кода, проверка QA и т. Д.), Ветвь объединяется с веткой релиза. Новые сборки создаются из ветви выпуска, и в этой версии происходит окончательная проверка.

Процесс в основном нормальный, пока проблема не будет обнаружена после слияния. Если WP «застревает» после слияния, он удерживает все после него, пока не будет исправлено (мы не можем сделать еще один выпуск, пока не выйдет зависший).


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

Если по какой-либо причине изменение было внесено непосредственно в производство (критическая проблема, затрагивающая клиента, которая потребовала немедленного изменения кода, чтобы исправить ее), эти изменения будут возвращены в BRANCH_RELEASE. Этого почти не бывает.

0 голосов
/ 19 октября 2008

Я использую git, и у меня есть 2 ветки: master и maint

  • master - код разработки
  • maint - производственный код

когда я выпускаю код в производство, я помечаю его и объединяю master в maint ветку. Я всегда использую ветку maint . Патчи из ветки разработки Я выбираю их из ветки maint и внедряю патчи.

...