Хадсон: как мне использовать параметризованную сборку для проверки SVN и тега SVN? - PullRequest
5 голосов
/ 17 июня 2010

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

Я могу установить URL-адрес своего хранилища svn следующим образом: <a href="https://my.svn.server/branches/" rel="nofollow noreferrer">https://my.svn.server/branches/</a>${branch}, и он выполняет проверку и сборку просто отлично.

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

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

проблема сейчас в том, что мой репозиторий SVN вверху использует синтаксис ${branch} и тегирование SVNплагин 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

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

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

help?!

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

Ответы [ 2 ]

3 голосов
/ 17 июня 2010

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

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

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

0 голосов
/ 24 июня 2011

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

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

и это работает. Нам пришлось использовать двойное «//» как в «/ jenkinstest_tags // build». Что кажется обходным решением.

...