4

这是我的开发配置:

在 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 中创建一个新工作(使用相同的脚本但不同的路径)?

希望

提前感谢您的帮助,
最好的问候,

4

2 回答 2

5

您应该通过标签/分支名称参数化您的构建。最简单的方法是向您的 Jenkins 作业添加一个参数(例如SVN_BRANCH_DIR),该参数将具有诸如trunk, branches/branch1,之类的值tags/sometag

现在,如果您使用 Jenkins ANT 构建步骤,该参数将作为属性自动传递给您的 ANT 脚本(通过 ANT-D选项)。所以你可以${SVN_BRANCH_DIR}在其中使用(例如svn://myserver/myrepo/${SVN_BRANCH_DIR})。

于 2012-06-13T09:04:09.963 回答
3

自 1.24 版(2011 年 3 月 22 日)起,Jenkins Subversion 插件提供了“列出 subversion tags(和更多)”项目参数。

字面上地,

使用时,此参数将在构建时显示一个字段,以便用户能够选择一个 Subversion 标记,从中为该项目创建工作副本。一旦设置了 Name 和 Repository URL 两个字段,您必须 (1) 确保作业使用 Subversion,并且 (2) 通过连接此参数的两个字段来设置 Subversion 的 Repository 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 存储库根目录,而不仅仅是指向标签目录(即,您可以将其设置为https://svn.jenkins-ci.org而不是https://svn.jenkins-ci.org/tags)。在这种情况下,如果此存储库根目录包含主干、分支和标签文件夹,则下拉菜单将允许用户选择主干、分支或标签。

对于无人值守的集成构建,您可以使用默认的“主干”参数值。

我希望这有帮助。

于 2013-04-17T15:52:05.303 回答