Я ищу "Best Practices", касающиеся ролей и обязанностей, в частности, кто отвечает за слияния из ветвей разработки в магистраль (или основной). В основном я ищу боеприпасы, чтобы помочь моему делу.
Позвольте мне описать то, с чем я сталкиваюсь. Я ведущий разработчик (владелец) конкретного приложения. Наша компания недавно перешла из VSS (где я был администратором базы данных VSS, в которой хранилось мое приложение) в TFS (где у меня есть разрешения только на ветки разработки, созданные нашей командой «Операции»). В предыдущих работах я был администратором TFS, поэтому я знаю, как работать с TFS и MSBuild.
У меня нет проблем с используемой стратегией ветвления и слияния (основная ветвь, с ветвями разработки ошибок / проектов, создаваемыми по мере необходимости, сливается обратно с основной, а затем переводится в ветку релиза). У меня есть следующие проблемы:
Я не могу создавать свои собственные ветви. Я должен создать задачу TFS, чтобы член команды «Операции» создал ветку для меня.
Я не могу слиться с Main в мою ветку разработки. Я должен создать задачу TFS, чтобы член команды «Операции» выполнил слияние, а затем надеюсь, что он не «наступит» ни на какие изменения в моей команде, так как «опс парень» может или не может быть разработчиком и, безусловно, имеет практически ничего не знает о коде, который он объединяет.
Я не могу слиться с развитием в главное. Опять же, я должен создать задачу TFS, чтобы «оперативник» выполнил слияние, надеясь, что он делает это правильно. Затем мне нужно создать еще одну задачу TFS для слияния обратно с моей веткой, чтобы я мог разрешить любые проблемы, возникшие при слиянии Main с не разработчиком.
Я не могу создавать или редактировать сценарии MSBuild. Я снова должен работать с командой "ops", которая является новой для MSBuild, поэтому можно выполнять только самые основные задачи сборки. (Забудьте о чем-либо сложном, или небеса запретить пользовательское задание).
Я не могу выполнить скрипт MSBuild. Опять же, только команда "ops" может сделать это.
Чтобы завершить все это, как правило, это «оффшорный» ресурс, который выполняет запрошенные задачи, поэтому даже если я создаю задачу (ответвление / слияние / сборка) рано утром, она, вероятно, не будет выполнена до этого вечера
Теперь у меня нет проблем с командой операций, которая поддерживает ветки релизов. Поскольку все, что они делают, это (в основном) берут последнюю версию из Main и продвигают ее в ветку релиза; так что, пока «Main» стабилен и готов, ветвь релиза будет хорошей.
Мое мнение таково, что технические лидеры (такие как я) должны отвечать за поддержку транка («Главный») и любое слияние с / из ветвей разработки. Руководитель группы также должен иметь возможность создавать сценарии MS Build для создания и развертывания в среде тестирования интеграции.
Может кто-нибудь направить меня к документу Best Practices, который поможет мне доказать мою правоту? В результате всех моих поисков были обнаружены только передовые практики, касающиеся методов ветвления и слияния, и упоминание ВОЗ не должно упоминать о таком ветвлении / слиянии.
WHO should be performing said branching/merging.
это внутреннее организационное решение. Не совсем то, что мы могли бы помочь вам ...