2010-06-17 3 views
5

Я настраиваю параметризованную сборку в hudson v1.362. параметр i creting используется для определения того, какая ветка проверяется в подрывной деятельности.Hudson: как я могу использовать параметризованную сборку для выполнения svn checkout и svn tag?

Я могу установить 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 tagging счастлив.

теперь проблема в том, что мой репозиторий SVN на вершине использует ${branch} синтаксис и СВН мечение плагин barfs на этом:

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 

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

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

help ?!

Как использовать параметризованную сборку для установки svn-url для проверки и для пометки моей сборки ?!

ответ

3

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

СВН сП% рабочее пространство% \ Ствол @ http://myserver/release/%build_number%/trunk -m «(поместить журнал текст здесь) "--parents

Возможно, что-то подобное сработает и для вас.

+0

спасибо william. используя это в сценарии пост-сборки из hudson, отлично работает! –

0

Мы используем мечение pluggin со следующим URL:

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

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

+1

Проблема OP - это не URL-адрес TARGET, а URL-адрес SOURCE. – chiccodoro