Плагин Hudson Perforce - как я могу автоматически обновлять версии без повторного запуска сборки - PullRequest
3 голосов
/ 14 ноября 2010

Я пытаюсь заставить работать непрерывную интеграцию с использованием Hudson, Maven & Perforce (с помощью опроса scm, используемого для запуска каждой сборки)

Одним из требований является автоматическое обновление номеров версий снимка POM после каждого успешногоbuild.

Это тривиально, используя плагин релиза Maven, но проверка новых версий POM запускает другую сборку, которая продолжается до бесконечности.

Есть ли способ проверить версиюобновления без запуска другой сборки?Кажется, нет никакого способа исключить определенные пользовательские регистрации, определенные списки изменений или определенные файлы, когда опрос scm принимает решение о перестроении.

Это кажется основным требованием - делать это годами, используяКруиз-контроль / Ant / Perforce,

Cheers,

Mark

Ответы [ 7 ]

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

Я не верю, что есть какой-либо способ настроить Hudson на пропуск части рабочего пространства Perforce при опросе. Возможно, вам повезет больше, настроив два разных рабочих пространства - одно для тестирования сборки с использованием POM по умолчанию, а другое для ваших выпусков с автоматически обновляемым выпуском POM. Два рабочих пространства могут отличаться только в этом одном файле, и изменение версии POM не вызовет новую сборку.

Узнайте, как выполнить сопоставление отдельных файлов в рабочей области в P4Guide .

1 голос
/ 14 ноября 2010

Я обдумывал переход на Гудзон, но невозможность исключить определенные файлы из опроса scm была бы преградой. Вы также задавали этот вопрос в списке рассылки Hudson?

пользователи <at> hudson <dot> dev <dot> java <dot> net

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

0 голосов
/ 07 декабря 2010

Плагин Perforce уже некоторое время имеет маски для голосования.Он находится в разделе «Дополнительно» под «View Mask».

По сути, вы перечисляете подмножество файлов, которые вы хотите опросить, чтобы проверить изменения.К сожалению, нет простого способа исключить файлы, поэтому вам придется создать список спецификаций файлов, в которых будет указано все, НО файл, который вы хотите исключить.Поэтому, если версия содержится в файле pom.xml, мне нужно будет указать файлы и каталоги, которые ее не содержат.

Например, если ваша структура каталогов выглядит следующим образом:

./pom.xml
./lib/
./src/

В качестве маски представления вы должны указать

//depot/project/lib/...
//depot/project/src/...

и установить флажок, чтобы использовать его только для опроса.У этой функции есть несколько ограничений, таких как невозможность использования «-» для исключения спецификаций файлов, но пока это все еще работоспособное решение.

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

У меня была похожая проблема проверки в скомпилированном src. Мне удалось найти альтернативу, но я подумал о следующем.

  1. В hudson укажите дочернюю папку вашего проекта для опроса. То есть на самом деле Хадсон не проверяет ваш проект, просто случайная папка.

  2. Добавьте сценарий оболочки для проверки правильности вашего проекта.

  3. Запускайте обычные сценарии.
  4. зарегистрируйтесь в вашем помпе. Хитрость в том, что опрашиваемая папка на этом этапе не изменилась.

Не идеально, но работает.

0 голосов
/ 01 декабря 2010

У меня есть все теги, обновления ChangeLog и упаковка, сделанные нашим проверенным кодом сборки.Это позволяет нам:

  • Создать RC и соответствующие теги без запуска другой сборки
  • Позволяет отлаживать все аспекты нашей сборки на любом компьютере разработчика, а не только на Hudson.1006 *
  • Позволяет нам точно воссоздать, каким образом были сделаны пакет, тег и т. Д. В любой момент в прошлом.
0 голосов
/ 30 ноября 2010

Что такое "ПОМ"?

У вас может быть Hudson «Создать или обновить метку в Perforce» (см. В нижней части конфигурации вашего проекта.) Вы можете использовать ее вместе с переменной окружения BUILD_NUMBER, которую предоставляет Hudson, предоставляя вам уникальные номера сборки и штампованные метки P4: сказал построить.

0 голосов
/ 25 ноября 2010

Возможно обновить описание списка изменений после того, как он был отправлен, поэтому, если вы создаете номер с определенным номером списка изменений, вы можете обновить описание этого списка изменений, включив в него свой номер сборки.Это не должно вызывать новую сборку.

...