SVN импортировать или добавить + зафиксировать в Jenkins? - PullRequest
0 голосов
/ 03 января 2012

Я бы хотел, чтобы Jenkins добавил свои артефакты сборки - в моем случае результаты испытаний - в репозиторий svn.Мне нужно добавить + зафиксировать или импортировать новые созданные файлы результатов - неверсированные файлы - в репозиторий SVN.Этот ResultsFolder также содержит более старые файлы из более ранних тестовых прогонов, которые имеют версии.Дженкинс сначала проверил репо.

Это способ сделать это?

  1. Добавить шаг сборки в Jenkins, выполнить командный пакет Windows (Дженкинс работает на компьютере с Windows)
  2. Svn add cmd: svn add .\ResultsFolder\* для рекурсивного добавления всех файлов папки "ResultsFolder".Папка также содержит версионные файлы и папки. Это проблема?это связано с тем, что результаты теста должны быть:
    1. Резервное копирование
    2. Проверено на другом компьютере для дальнейшего анализа

Ответы [ 3 ]

2 голосов
/ 04 января 2012

Вот проблема: всякий раз, когда Дженкинс регистрирует новую ревизию Subversion, она запускает другую сборку Дженкинса.Вы, вероятно, не хотите этого.Кроме того, вы не должны регистрировать в Subversion то, что генерируется сборкой.Это быстро приведет к тому, что ваш репозиторий вырастет за пределы вашего текущего размера диска, и вы получите тонну артефактов в вашем репозитории, которые никому не интересны. Вместо этого:

Используйте архивные возможности Jenkins длясохраните свои артефакты сборки.

Это делает их намного более заметными и их легче найти.Кроме того, вы можете автоматически заставить Дженкинса избавиться от них, когда они вам больше не нужны.Помните, что вы можете блокировать сборку Jenkins, чтобы предотвратить обнаружение артефактов, которые вы действительно хотите сохранить (например, бинарный файл фактического выпуска).

Кроме того, ваша другая машина может использовать wget или curl, чтобы извлечь их из репозитория Jenkins.

Используйте Плагин копирования артефактов для своей другой работы.

Если для другой работы Jenkins, требующей этихАртефакты - это еще одно задание Jenkins. Вы можете использовать этот плагин, чтобы скопировать артефакты из этого задания в другое и автоматически выполнить второе задание.Я делаю это, когда у меня есть тесты для запуска со сборкой, выполнение которой может занять более нескольких минут.

Пойдите изо всех сил и используйте Maven

Даже если вы не используете Maven какпроцесс сборки, это отличный способ для хранения и управления артефактами.Jenkins может хранить артефакты в Maven как часть процесса сборки, и вы можете использовать wget, curl или даже сам Maven для автоматического извлечения артефактов из хранилища.

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

0 голосов
/ 20 марта 2013

Это то, что я сделал для моего файла POM:

rem
rem Update SVN with pom.xml file with bumped version
rem
svn co "SVN PATH" %WORKSPACE%\temp --depth files
cd %WORKSPACE%\temp
cp ../pom.xml .
svn ci pom.xml -m "Jenkins : Version Bump"
rd /s /q %WORKSPACE%\temp
0 голосов
/ 04 января 2012

Почему бы вам не использовать Сонар вместо того, чтобы изобретать его?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...