Хадсон: как использовать параметризованную сборку для проверки svn и тега svn?

Я настраиваю параметризованную сборку в hudson v1.362. параметр, который я создаю, используется, чтобы определить, какую ветвь проверять в Subversion.

Я могу установить URL-адрес моего репозитория svn следующим образом: https://my.svn.server/branches/${branch}, и он отлично справится с проверкой и сборкой.

теперь я хочу пометить сборку после ее завершения. Я использую плагин тегов SVN для Hudson для этого. поэтому я перехожу в нижнюю часть экрана конфигурации проекта для проекта Hudson и включаю «Выполнять теги Subversion при успешной сборке».

здесь я установил свой базовый URL-адрес тега на https://my.svn.server/tags/${branch}-${BUILD_NUMBER}, и это дает мне ошибки о том, что эти свойства не найдены. поэтому я меняю их на использование переменных среды следующим образом: https://my.svn.server/tags/${env['branch']}-${env['BUILD_NUMBER']} и плагин тегов svn счастлив.

проблема теперь в том, что мой репозиторий svn вверху использует синтаксис ${branch} и barfs плагина тегов svn:

moduleLocation: Remote ->https://my.svn.server/branches/$branch/
Tag Base URL: 'https://my.svn.server/tags/thebranchiused-1234'.
There was no old tag at https://my.svn.server/tags/thebranchiused-1234.
ERROR: Publisher hudson.plugins.svn_tag.SvnTagPublisher aborted due to exception
java.lang.NullPointerException
    at hudson.plugins.svn_tag.SvnTagPlugin.perform(SvnTagPlugin.java:180)
    at hudson.plugins.svn_tag.SvnTagPublisher.perform(SvnTagPublisher.java:79)
    at hudson.tasks.BuildStepMonitor$3.perform(BuildStepMonitor.java:36)
    at hudson.model.AbstractBuild$AbstractRunner.perform(AbstractBuild.java:601)
    at hudson.model.AbstractBuild$AbstractRunner.performAllBuildSteps(AbstractBuild.java:580)
    at hudson.model.AbstractBuild$AbstractRunner.performAllBuildSteps(AbstractBuild.java:558)
    at hudson.model.Build$RunnerImpl.cleanUp(Build.java:167)
    at hudson.model.Run.run(Run.java:1295)
    at hudson.model.FreeStyleBuild.run(FreeStyleBuild.java:46)
    at hudson.model.ResourceController.execute(ResourceController.java:88)
    at hudson.model.Executor.run(Executor.java:124)
Finished: FAILURE

обратите внимание на первую строку: тег svn смотрит на $ {branch} как на часть URL-адреса репозитория ... он не анализирует значение свойства.

Я попытался изменить свой исходный URL-адрес репозитория для svn, чтобы использовать синтаксис ${env['branch']}, но это взорвалось при исходной проверке, потому что этот синтаксис вообще не анализируется при оформлении заказа.

помощь?!

как мне использовать параметризованную сборку, чтобы установить URL-адрес svn для оформления заказа и для маркировки моей сборки ?!


person Derick Bailey    schedule 17.06.2010    source источник


Ответы (2)


Мы не используем плагин тегов, но мы используем SVN.EXE в нашем сценарии оболочки следующим образом:

svn cp% workspace% \ trunk @ http://myserver/release/%build_number%/trunk -m "(введите здесь текст журнала)" --parents

Возможно, что-то подобное подойдет и вам.

person William Leara    schedule 17.06.2010
comment
спасибо Уильям. использование этого в сценарии пост-сборки от Hudson отлично работает! - person Derick Bailey; 17.06.2010

Мы используем плагин тегирования со следующим URL:

http://subversion.repository/branches/jenkinstest_tags//build-${env['BUILD_NUMBER']}

и это работает. Нам пришлось использовать двойной '//', как в '/ jenkinstest_tags // build'. Кажется, это обходной путь.

person Leo Zeef    schedule 24.06.2011
comment
Проблема OP заключается не в URL-адресе TARGET, а в URL-адресе SOURCE. - person chiccodoro; 08.03.2012