这是我的开发配置:
在Subversion下,
- 我有我的project_X / trunk(和我最新的dev),
- 我有我的project_X /标签(有不同的版本),
- 我想添加一个分支文件夹。
我正在使用Jenkins使用Ant脚本构建我的project_X / trunk。 我的Ant脚本执行很多操作,它可以检出,编译,使用图形创建文档,运行单元测试,执行pmd,创建jar并压缩所有内容。
我希望能够在同一个项目的标签或分支(以及主干)上使用我的Ant脚本。
最简单的方法是什么:
我认为这只是一个检查Subversion存储库的正确路径的问题,对吗?
- 如果我是正确的,我应该建立Subversion动态的路径。
- 在我的Ant脚本中,我的Subversion路径应该是变量吗?
- 如何从Jenkins界面传递路径值?
- 是否有插件可以让我将Jenkins的Subversion路径值传递给Ant脚本?
- 或者我应该在Jenkins中创建一个新工作(使用相同的脚本但路径不同)?
希望
提前感谢您的帮助,
最好的问候,
答案 0 :(得分:5)
您应该按标记/分支名称参数化您的构建。最简单的方法是向Jenkins作业添加一个参数(例如, SVN_BRANCH_DIR ),其中包含trunk
,branches/branch1
,tags/sometag
等值
现在,如果您使用Jenkins ANT构建步骤,该参数将作为属性自动传递到您的ANT脚本(通过ANT -D
选项)。因此,您可以在其中使用${SVN_BRANCH_DIR}
(例如svn://myserver/myrepo/${SVN_BRANCH_DIR}
)。
答案 1 :(得分:3)
Jenkins Subversion Plugin在版本1。24(2011年3月22日)之后提供了“List subversion tags(and more)”项目参数。
字面意思,
使用时,此参数将在构建时显示一个字段,以便用户可以选择Subversion标记,从该标记为该项目创建工作副本。 一旦设置了两个字段名称和存储库URL,您必须(1)确保作业使用Subversion和(2)通过连接此参数的两个字段来设置Subversion的存储库URL字段。例如,如果Name设置为SVN_TAG且Repository URL设置为https://svn.jenkins-ci.org/tags,则Subversion的Repository URL必须设置为https://svn.jenkins-ci.org/tags/ $ SVN_TAG。 请注意,您可以将Repository URL字段设置为Subversion存储库根目录,而不是仅指向标记dir(即,您可以将其设置为https://svn.jenkins-ci.org而不是https://svn.jenkins-ci.org/tags)。在这种情况下,如果此存储库根目录包含trunk,branches和tags文件夹,则下拉列表将允许用户选择主干,分支或标记。
对于无人参与的集成构建,您可以使用默认的“trunk”参数值。
我希望这会有所帮助。