这是我的开发配置: 在Subversion下, -我有我的project_X / trunk(带有我的最新开发者), -我有我的project_X / tags(带有不同版本), -我正在考虑添加一个分支文件夹。 我正在使用Jenkins使用Ant脚本来构建我的project_X / trunk。我的Ant脚本做了很多事情,包括签出,编译,创建带有图形的文档,运行单元测试,执行pmd,创建jar以及压缩所有内容。
这是我的开发配置:
在Subversion下,
-我有我的project_X / trunk(带有我的最新开发者), -我有我的project_X / tags(带有不同版本), -我正在考虑添加一个分支文件夹。
我正在使用Jenkins使用Ant脚本来构建我的project_X / trunk。我的Ant脚本做了很多事情,包括签出,编译,创建带有图形的文档,运行单元测试,执行pmd,创建jar以及压缩所有内容。
我希望能够在同一项目的标签或分支(以及主干)上使用我的Ant脚本。
最简单的方法是什么:
我认为这只是签出Subversion存储库正确路径的问题,对吗?
-如果我是正确的,我应该使Subversion的路径动态化。 -在我的Ant脚本中,我的Subversion路径应该是变量吗? -如何从Jenkins的界面传递路径值? -是否有让我将Subversion路径值从Jenkins传递到Ant脚本的插件? -还是我应该在Jenkins中创建新工作(使用相同的脚本但使用不同的路径)?
希望
预先感谢您的帮助, 最诚挚的问候,
您应该通过标签/分支名称对构建进行参数化。要做到这一点,最简单的方法是将一个参数(比如,添加 SVN_BRANCH_DIR )到您的詹金斯工作,这将有值,例如trunk,branches/branch1,tags/sometag。
trunk
branches/branch1
tags/sometag
现在,如果您使用Jenkins ANT构建步骤,则该参数将作为属性(通过ANT -D选项)自动传递到ANT脚本。因此您可以${SVN_BRANCH_DIR}在其中使用(例如svn://myserver/myrepo/${SVN_BRANCH_DIR})。
-D
${SVN_BRANCH_DIR}
svn://myserver/myrepo/${SVN_BRANCH_DIR}