Я настраиваю параметризованную сборку в hudson v1.362. параметр, который я увенчиваю, используется для определения который ответвление к контролю в подверсии.
Я могу установить свой URL репозитория SVN как это: https://my.svn.server/branches/${branch}
и это делает контроль и сборку очень хорошо.
теперь я хочу отметить сборку после того, как она закончится. я использую SVN метки плагина для Гудзона, чтобы сделать это. таким образом, я перехожу к нижней части экрана конфигурации проекта для гудзонского проекта и включаю, "Выполняют Подверсию, наклеивающую успешную сборку".
здесь, я установил свой Базовый URL Тега на https://my.svn.server/tags/${branch}-${BUILD_NUMBER}
и это дает мне ошибки о тех свойствах, не находимых. таким образом, я изменяю их на использования переменной среды как это: https://my.svn.server/tags/${env['branch']}-${env['BUILD_NUMBER']}
и svn метки плагина счастлив.
проблема теперь состоит в том, что мой репозиторий SVN наверху использует ${branch}
синтаксис и 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 смотрит на $ {ответвление} как часть URL репозитория... это не анализирует значение свойства.
я пытался изменить свой исходный URL Репозитория для svn для использования ${env['branch']}
синтаксис, но это аварийно завершается на исходном контроле, потому что этот синтаксис не становится проанализированным вообще контролем.
помощь?!
как я использую параметризованную сборку для установки svn URL для контроля и для меток моей сборки?!
Мы не используем плагин тегов, но мы используем SVN.EXE в нашем shell-скрипте вот так:
svn cp %workspace%\trunk@ http://myserver/release/%build_number%/trunk -m "(вставьте сюда текст журнала)" --parents
Возможно, что-то подобное сработает и для вас.