从 svn 构建以前的版本

Posted

技术标签:

【中文标题】从 svn 构建以前的版本【英文标题】:Building a previous version from svn 【发布时间】:2013-12-28 17:38:43 【问题描述】:

我想要的是直接从 svn 构建我的项目的 1.1 发行版。当前版本号为 1.2-SNAPSHOT。 有没有办法做到这一点?我假设有,但我不知道命令。 如果您需要更多信息,请告诉我,我会提供给您。 谢谢, 五、

【问题讨论】:

“直接来自 svn”是什么意思?只需检查标记的修订并运行您的 Maven 目标。 我的意思是在执行命令后(我知道没有这样的命令,但例如 mvn clean install -DbuildVersion -DscmUrl=...),maven 会从 SVN 获得正确的源到临时文件夹,进行构建并删除签出的源。有这样的命令吗? 我对此表示怀疑。如果你真的想要一个单一的命令,为什么不编写一个执行 svn 检出并运行 Maven 构建的 Bash 脚本? 再次感谢汤姆!我只是想偷懒,但似乎我做不到…… 【参考方案1】:

没有这样的命令可以将源代码获取到临时位置 + 构建 + 清理。您必须编写脚本,例如:

#!/bin/bash -e

work=$TMPDIR/builder-$$

cleanup() 
    rm -fr "$work"


trap 'cleanup; exit 1' 1 2 3 15

mkdir -p $work
svn co url/to/release/1.1 $work/
(cd $work; mvn clean install)

cleanup

【讨论】:

以上是关于从 svn 构建以前的版本的主要内容,如果未能解决你的问题,请参考以下文章

Jenkins svn 导出构建步骤

Jenkins根据svn版本号进行构建

在 MSBuild 中生成版本号

SVN 1.3 VS 1.5(最新)

Apache+SVN构建代码仓库平台

SVN 通过Shell Bash 获取项目Reversion号码