Релизы с несколькими долгоживущими ветками с использованием maven

Итак, вот настройки Subversion, Jenkins, Beanstalk:

  • ствол/ -> основная линия развития
    • CI основывается на регистрации
    • Успешная сборка CI порождает сборку CD, которая переходит в среду Beanstalk «Тестирование»
  • . ветки/qa/ -> текущий релиз-кандидат
    • CI основывается на регистрации
    • Успешная сборка CI порождает сборку CD, которая отправляет в среду Beanstalk «QA»
  • ветки/prod/ -> текущий выпуск
    • CI основывается на регистрации
    • Успешная сборка CI порождает сборку CD, которая отправляет в среду Beanstalk Prod

В основном то, что я хочу сделать, это:

  • Цикл разработки начинается в транке (транке :0.1 -SNAPSHOT)
  • Когда цикл разработки завершен, переходите к циклу qa и являетесь циклом qa. Также начните следующий цикл разработки в стволе (стволе 0.2 -SNAPSHOT,qa :0,1 -СНИМОК)
  • Когда цикл qa завершится, перейдите к prod и выполните выпуск maven. Также начать следующий цикл qa (trunk 0,2 -SNAPSHOT, qa :0,2 -SNAPSHOT, prod :0,1)

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

Я хотел бы сохранить ветки и выполнить слияние с\из веток вместо удаления и повторного -создания. Идея заключалась в том, что любые исправления, сделанные в qa, будут объединены в основной ствол, а любые изменения, сделанные в prod, будут объединены обратно в qa (и обратно в основной ствол ).

Таким образом, prod является «горячей» веткой и представляет текущее состояние производственной среды.

это для небольшой команды разработчиков, работающих над недельными спринтами.

Вопросы:

  1. Как звучит эта установка?
  2. Могу ли я заставить maven действовать правильно, или мне нужно будет это написать?
  3. Кто твой папочка? И что он делает?
5
задан Brian Dilley 8 August 2012 в 00:40
поделиться