2012-11-13 20 views
2

我需要为我的Jenkins构建作业工作区签出最新的SVN标签。带有标签我指的是复制的文件夹,通常用于创建里程碑。如何在Jenkins中获得最新的SVN标签

我从一些stackoverflow问题阅读,可以得到最新的例如与

"svn ls .../path/to/repo/tags | tail -n 1" 

,但我不认为这可以给詹金斯SCM领域。我相信詹金斯需要SVN中的确切位置。有任何想法吗?我会相信这实际上是在大型项目中一个相当普遍的要求....

回答

3

建议答案是上的假设几乎正确

  • 增量字母数字永久命名方案使用
  • BASE路径加入已经导致管(LS输出相对路径到标签/)

的如果上述条件是没有兑现,你必须使用略有不同的命令,有些一块业务逻辑的“最新标签有最高的版本号”

>svn ls -v http://mayorat.ursinecorner.ru:8088/svn/Hello/tags/ 
    22 lazybadg    июл 17 2010 ./ 
    11 lazybadg    июл 17 2010 1.0/ 
    22 lazybadg    июл 17 2010 1.1/ 

输出这个 LS可以gawk'ed,最新的修订版中发现在$ 1,所需标签的相对路径为$ 6(或$ 5,我懒测试)

+0

嘿懒惰獾,谢谢你的答案。我相信这个脚本是可行的,但问题是如何将它实现成jenkins。不能在Jenkins SCM字段中添加该行,并且我还没有找到关于如何“动态”执行该操作的章节 – user1340582

+0

@ user1340582:如果您可以在Jenkins任务内执行外部程序,那么shell-script | bat-file可以(我对Jenkins一无所知) –

+1

我也会建议忽略Jenkins SCM字段,而是使用脚本作为第一个构建步骤 – MOnsDaR

相关问题