2014-08-28 3 views
0

Как мы устанавливаем политику Subversion, чтобы мы могли легко «отбросить» целую историю изменений, сохраняя непрерывную интеграцию?Subversion, непрерывная интеграция и Scrum


В моем месте бизнеса, мы получаем Scrum туда, где мы не имели процесса/«ковбой кодирования» раньше. Это очень весело (определение крепости гномов), но не в центре внимания этого вопроса.

В Scrum у нас есть возможность, чтобы владелец продукта имел право произносить «нет» на завершение истории или, возможно, работать не «делал» историю во время спринта. Идея состоит в том, что если что-то не «сделано», оно не развертывается. Внутри есть разногласия: некоторые люди говорят, что мы должны развернуть половину готового материала, «связанного», чтобы его нельзя было использовать, но я категорически не согласен (это совсем другая тема).

С постоянной интеграцией разработчикам рекомендуется часто фиксировать проблемы интеграции/регрессии. Для нас это означает, что подрывная операция совершается, в основном с шаблоном разветвления выпуска, хотя это и является гибким.

Если мы постоянно совершаем какие-либо ветви, называем это ветвью спринта, что происходит, когда мы (редко!) Добираемся до конца спринта и имеем историю, которая не может быть развернута? Мне нужно «размотать» любые изменения, которые поддерживали эту историю из ветви развертывания. Существует ли стратегия ветвящейся политики/фиксации, которая делает это относительно выполнимым, без крупномасштабного ручного взаимодействия? Должен ли я даже беспокоиться об этом?

Похожие: Subversion with Continuous Integration

+4

Я голосующий, чтобы закрыть этот вопрос как не относящийся к теме, потому что [управление проектами в настоящее время не соответствует теме переполнения стека] (// meta.stackoverflow.com/questions/343829/is-stack-overflow-an -appro -website к спросить-о-управления проектами-вопросы/343841 # 343841). Задайте эти вопросы на [SoftwareEngineering.SE] (// softwareengineering.stackexchange.com/) и [ProjectManagement.SE] (// pm.stackexchange.com/). (К сожалению, этот вопрос слишком стар, чтобы его можно было перенести.) – robinCTS

ответ

1

Я не думаю, что есть какое-либо простое решение. После того, как вы «разблокируете/отмените» свои изменения, что может быть сложно, вам придется перепроверить все. Лучшая стратегия, если вы окажетесь в случае, когда у вас есть ветка, которая не может перейти на производство, - это развернуть старую сборку, которая готова. Затем новая ветка может быть развернута, когда она будет готова.

+0

Это будет предварительный QA с CI, поэтому тестирование будет повторно запускаться в основном автоматически. Кроме того, почему я хотел бы отложить всю работу «спринта» «сделанной» работы за одну разбитую историю? –

+1

Если это пред-QA, то я думаю, что вам нужна ветка на историю. Как только история проходит CI, вы объединяете ее в главную ветку. Если вы затем столкнетесь с тем случаем, когда QA обнаруживает проблему непосредственно перед выпуском, вам нужно либо вытащить историю, либо повторно протестировать, либо просто отложить освобождение, пока вы не зафиксируете ее. – Dave

+1

@Dave Я думал об аналогичных строках, но одна ветка за историю кажется, что это может привести к слиянию/интеграции ад, победив цель CI. – ThisSuitIsBlackNot

Смежные вопросы