Автоматизация изменений репо в Гудзоне - PullRequest
0 голосов
/ 02 декабря 2010

Я собираю настройку Hudson, и наш процесс сборки немного затрудняет работу.Мы давно работаем в интернет-магазине, но сейчас делаем еще несколько Java-проектов.Каждые 2 недели мы создаем тег корневой папки сразу после выпуска предыдущего тега в производство.Новый тег тестируется в течение 2 недель (и критические изменения объединены), а разработка продолжается в магистрали.Большинство коммитов не связано с java, и поэтому нет необходимости каждый раз создавать проект java, просто обнаруживаются изменения java.

Я хочу настроить hudson на опрос тега in-testingдля изменений, а затем собрать и развернуть на нашем тестовом сервере.Однако, поскольку мы выпускаем каждые 2 недели, URL-адрес тестового репо будет меняться вместе с ним.Очевидно, что я мог бы вручную обновить URL репо, но я хочу автоматизировать это, чтобы избежать человеческих ошибок.Есть ли какой-нибудь способ создать что-то вроде URL-адреса символической ссылки svn, чтобы мы могли изменить скрипт, чтобы он указывал на новый тег при выпуске?Есть ли какой-нибудь механизм сценариев, который я мог бы использовать для запуска и автоматического обновления репозитория Hudson из CLI?Любые другие идеи, чтобы это исправить?

1 Ответ

1 голос
/ 02 декабря 2010

Как насчет повторного использования одного и того же тега каждые две недели.

После описания процесса, который вы используете.Когда вы создаете релиз, вы копируете trunk в новый тег и тестируете его до тех пор, пока он не станет достаточно хорошим (около двух недель).Чем вы отпустите этот тег.

Предлагаемые изменения: после выпуска версии.Вы копируете ствол в ветку ReleaseCandidate.Вы проверяете его там до тех пор, пока его не отпустите.Выпуская, вы специально создаете метку релиза (например, Rel_3_5_2) и копируете Кандидат релиза в метку релиза.Теперь вы можете переназначить ветку ReleaseCandidate и скопировать туда транк.

Ваш Hudson всегда просто работает с ReleaseCandidate и транком


Другим решением будет передача URL-адреса в работу с использованиемпост коммит хук.Этот хук сначала должен выяснить, какой тег только что изменился, и запустить задание с этим URL.

...