Как я могу интегрировать git и svn для TeamCity? - PullRequest
3 голосов
/ 30 марта 2011

В настоящее время:

  1. TeamCity настроен для сборки из SVN.
  2. TeamCity настроен для сборки из GIT.
    • Git голое репо на сервере TC (не на агенте)

Я вручную (из моего репо с svn ref) перебазирую (git spull - стандартный псевдоним) и регистрация в git-репозитории на сервере TC (git push).

Поскольку мы находимся в процессе перехода на git (предполагая, что мы можем выяснить, как!), мыесть чекины как из svn, так и из git.

Следует отметить, что репозиторий svn необходимо будет обновлять даже после того, как все перестанут регистрироваться в нем в соответствии с политикой компании.(Таким образом, после успешной сборки мы запустим «git spush»)

Какими будут настройки для TeamCity?

  1. В худшем случае, я вручную вытаскиваю из svn(пока все не выходят из SVN) и перебазировать голый репозиторий.Это будет продолжаться после каждой миграции, согласно политике компании, описанной выше
  2. Другим способом может быть добавление svn ref к голому репозиторию и написание сценария, который будет вызывать «git spull» каждый час или около того через TC.
    • Могут возникнуть проблемы при конфликтах слияния
    • Также потребуется другая конфигурация, которая будет "git spush" после успешной сборки
  3. Еще один способ, возможно, иметь плагин svn для запуска «svn spull» после каждой регистрации в svn и добавления его в специальную ветку с шагом ручного слияния (немного лучше, чем вариант 1 и удаляет наихудший случай).для варианта 2)

Есть еще способы?Кто-нибудь делает что-то подобное?

Ответы [ 2 ]

1 голос
/ 11 апреля 2011

Черт возьми, мне жаль, что я не нашел этот блог раньше!

http://www.tfnico.com/presentations/git-and-subversion

Я пришел к аналогичным выводам, но потратил впустую 5-6 часов.

0 голосов
/ 06 апреля 2011

Во-первых, мне было бы очень интересно прочитать, как вы завершили миграцию после ее завершения. Сообщение в блоге или что-то, описывающее ваш опыт, документирующее проблемы, с которыми вы столкнулись, будет фантастическим ресурсом. Я думаю начать такую ​​же миграцию на моем рабочем месте.

Я думаю, вариант 2 звучит наиболее разумно, , но Я не уверен, почему вам нужно настроить операцию вытягивания, а также толчок. Почему бы просто не продолжить отправку успешных сборок в SVN, чтобы синхронизировать их с Git?

...