【问题标题】:How to get latest SVN tag in Jenkins如何在 Jenkins 中获取最新的 SVN 标签
【发布时间】:2012-11-13 07:51:08
【问题描述】:

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

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

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

,但我认为这不能交给 Jenkins SCM 领域。我相信 Jenkins 需要 SVN 中的确切位置。有任何想法吗?我相信这实际上是大型项目中相当普遍的要求....

【问题讨论】:

    标签: svn jenkins


    【解决方案1】:

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

    • 使用增量字母数字永久命名方案
    • BASE 路径以某种方式添加到管道的结果中(ls 输出 relative path 到 tags/)

    如果上述条件不满足,你必须使用稍微不同的命令和一些业务逻辑“Latest tag has the highest revision number”

    >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/
    

    this ls 的输出可以是 gawk'ed,最新版本在 $1,所需标签的相对路径在 $6(或 $5,我懒得测试)

    【讨论】:

    • 嘿懒獾,谢谢你的回答。我相信脚本有效,但问题是如何将它实现到詹金斯。无法将该行添加到 Jenkins SCM 字段中,而且我还没有找到有关如何“动态”执行此操作的部分
    • @user1340582:如果你能在Jenkins任务里面执行外部程序,那么shell-script|bat-file就可以写了(我对Jenkins一无所知)
    • 我还建议忽略 Jenkins SCM 字段,而是使用您作为第一个构建步骤调用的脚本
    猜你喜欢
    • 2016-02-18
    • 1970-01-01
    • 2018-06-07
    • 2015-01-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多