Процес на преглед на кода с Atlassian Stash

преглед

Решения за / с поддръжка за преглед на кода ми дойдоха на ум: TFS, Atlassian Stash, Github, Gerrit, новият Upsource от JetBrains.

Накратко за всеки:

  1. Имаме не само .NET и Windows, така че TFS изчезва (и във всеки случай прегледът не работи там, ако използвате git).
  2. Github - всичко е ясно, дава частни хранилища или самостоятелна версия на Github Enterprise. Пример за заявка за изтегляне и преглед е github.com/jquery/jquery/pull/1241/files. Основният аргумент против е частният хостинг за частни хранилища.
  3. Gerrit - направено специално за преглед на кода, всичко е готино, но все пак трябва да хостваме хранилищата някъде. Освен това използването може да бъде малко трудно за хора, които са свикнали със SVN.
  4. Upsource - същото твърдение като Gerrit - инструмент изключително за преглед на кода, а не за управление на хранилища. Да, и все още не съществуваше по време на избора.
  5. Stash е сравнително нов продукт от Atlassian. Нещо като github в миниатюра - хостинг / управление на хранилища, интегрира се с Jira / Bamboo, позволява ви да правите заявки за изтегляне, разклонения и най-важното - не в облака. Най-общо казано, те също имат Crucible (бивш Fisheye), но той е малко остарял и не управлява хранилища сам.
В крайна сметка решихме да се придържаме към Stash. Инсталирането/конфигурирането/интегрирането е типично за всички продукти на Atlassian, няма смисъл да се спираме на това. Поддържа се изключително от git и изискването за преглед на кода се изпълнява чрез заявки за изтегляне и е възможно да се коригира броят на минималните одобрения/успешни компилации, така че заявката да може да бъде обединена. Необходими са компилации при интегриране с Bamboo - например, за да се гарантира, че никой не е счупил модулните тестове в този клон. Очевидно броят на успешните компилации има смисълв случай на отделно стартирани тестове за производителност (или други, отнемащи относително дълго време и следователно не изпълнявани за всеки комит) тестове в отделна компилация. Е, не се сетих за друга употреба.

процес

Как правилно да организираме клоните, така че по-късно да не е мъчително болезнено, отдавна е измислено преди нас, така че няма да се спирам на самия работен процес - просто ще напиша приблизителен алгоритъм:

Показва как всичко е страхотно интегрирано, но някои от тях (например бутона Start Review) не работят за нас. Вероятно проблем с версията.

И накрая, малко натискане на полезни функции / отговори на възможни въпроси

В анкетата могат да участват само регистрирани потребители. Влез Моля.