Интеграция Redmine & Git

Я рассматриваю перемещение от svn и Trac мерзавцу и Redmine. Я просто задаюсь вопросом, что общий опыт имеет это. Как хорошо мерзавец интегрируется с Redmine?

Я довольно установлен на моем решении измениться от svn до мерзавца - наша распределенная работа и должен часто переходить, и слияние сделало бы жизнь значительно легче с мерзавцем. Но мы должны были бы возможно разделить вещи на несколько проектов для этого. Из того, что я читал, мерзавец и несколько проектов не интегрируются слишком гладко с Trac. То, что в стороне, в моих расследованиях мерзавца, Redmine также привлек мое внимание, и некоторые функции выглядят очень полезными.

Однако я не нашел столько же пользовательских событий мерзавца и Redmine сколько что я хотел бы (возможно из-за моего отсутствия ищущих навыков...) и так хотел бы услышать Ваши мнения и примеры.

35
задан user336307 9 May 2010 в 13:37
поделиться

1 ответ

В прошлом году я создал систему, которая использовала Gitorious и Redmine. Вы можете интегрировать git напрямую с Redmine, никаких проблем, но я бы настоятельно рекомендовал вам взглянуть на Gitorious, как на инструмент для контроля ваших репозиториев и отслеживания их событий. Его также можно использовать для контроля доступа к репозиториям и т.д.

Интеграция Gitorious и Redmine довольно проста. Я написал скрипт, который отменяет хэширование путей Gitorious. Они сохраняются в файловой системе в хэшированном виде, когда вы используете Gitorious, поэтому связывание этих репозиториев с Redmine было бы немного сложным. Мой скрипт делает ссылки на эти репозитории в гораздо более читабельном формате, поэтому связать их с Redmine очень просто, и требуется это только один раз при создании проекта. Вы можете найти скрипт здесь.

В принципе, вам не нужно сильно беспокоиться об интеграции, поскольку Redmine поддерживает git из коробки - вроде как. Конечно, вам нужно, чтобы служба git была запущена на сервере, где находятся ваши "производственные" репозитории (те, которые вы связываете с Redmine, проводите автоматизированные тесты и т.д.), но это также решается с помощью Gitorious.

На самом деле я написал свою бакалаврскую работу по этому вопросу. Она уже немного устарела, так как и Gitorious, и Redmine сильно развились, но я могу предоставить ее, если вы хотите ее прочитать. В диссертации объясняется, что нужно сделать (некоторые проблемы уже решены этими двумя инструментами), а также она включает среду непрерывной интеграции, которая автоматически собирает пакеты, когда пользователи вносят изменения в репозитории, и помещает их в репозиторий reprepro, откуда тестеры и т.д. могут легко загрузить их с помощью веб-браузера.

В прошлом году у Redmine были некоторые проблемы, особенно раздражало отсутствие подпроектов, но это было исправлено в версии 0.9. Также плагины должны быть хорошо протестированы перед использованием в производстве, некоторые просто не сочетаются, а некоторые вообще не работают (возможно, это столкновение версии Redmine и версии плагина). В целом, Redmine работает довольно хорошо и может быть легко расширен в соответствии с вашими потребностями. Поддержка Gitorious превосходна, Redmine немного более спорадична (проклятые французы?), но оба инструмента имеют достаточно большие базы пользователей, чтобы быть надежными.

Git - очень хороший инструмент контроля версий, особенно для agile-команд. Он требует некоторого обучения, и вам следует написать руководство по его использованию для ваших разработчиков, чтобы получить максимальную отдачу от него, но как только вы его освоите, он станет чрезвычайно продуктивным. Мы написали свой собственный, который просто описывает нормальный рабочий процесс. Следует объяснить разветвление, слияние и т.д., например, работа на мастер-ветке вашего личного репозитория - не самая лучшая идея. Всегда создавайте ветку и работайте в ней. Когда вы перетаскиваете изменения в свою основную ветку из другого репозитория, проще справиться со слиянием таким образом - и вы случайно не перетащите то, что не хотели.

28
ответ дан 27 November 2019 в 07:19
поделиться
Другие вопросы по тегам:

Похожие вопросы: