如何在Jenkins获得最新的SVN标签

如何在Jenkins获得最新的SVN标签,svn,jenkins,Svn,Jenkins,我需要将最新的SVN标记签出到我的Jenkins build作业工作区。我指的是复制的文件夹,通常用于创建里程碑 我从一些stackoverflow问题中了解到,可以获得最新信息,例如 "svn ls .../path/to/repo/tags | tail -n 1" ,但我认为这不能用于Jenkins SCM领域。我相信詹金斯需要在SVN的确切位置。有什么想法吗?我相信这实际上是大型项目中的一个常见要求……建议的答案几乎是正确的,前提是: 使用增量字母数字永久命名方案 以某种方式将基本路

我需要将最新的SVN标记签出到我的Jenkins build作业工作区。我指的是复制的文件夹,通常用于创建里程碑

我从一些stackoverflow问题中了解到,可以获得最新信息,例如

"svn ls .../path/to/repo/tags | tail -n 1"
,但我认为这不能用于Jenkins SCM领域。我相信詹金斯需要在SVN的确切位置。有什么想法吗?我相信这实际上是大型项目中的一个常见要求……

建议的答案几乎是正确的,前提是:

  • 使用增量字母数字永久命名方案
  • 以某种方式将基本路径添加到管道的结果中(ls输出相对路径到标记/)
如果上述条件未满足,则必须使用稍微不同的命令和某些业务逻辑“最新标签的修订号最高”


这个ls的输出可以看,最新的版本在$1,所需标签的相对路径在$6(或者$5,我懒得测试)

嘿,懒虫獾,谢谢你的回答。我相信这个脚本是有效的,但问题是如何在jenkins中实现它。我们无法将该行添加到Jenkins SCM字段中,而且我还没有找到关于如何“动态”执行该行的章节@user1340582:如果您可以在Jenkins任务中执行外部程序,那么就可以编写shell脚本| bat文件(我对Jenkins一无所知)我还建议忽略Jenkins SCM字段,而是使用您调用的脚本作为第一个构建步骤
>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/