Subversion:自动在构建服务器上找到最新的稳定分支



subversion存储库布局遵循/trunk/branches/…模式,所以我们有:

/trunk
/branches/stable-20100716
/branches/stable-20111231
/branches/stable-20110401
/branches/specialversion
/tags/some-tag

然后,我们有一个构建服务器,可以构建主干和当前的稳定版本。

问题是:构建服务器如何找到当前的稳定版本?

我们在windows环境中使用CruiseControl (java版本)和ant进行构建过程。但是,subversion服务器是linux。

在CVS中,我们会使用标记。这是我第一次在subversion中丢失标签。我可以标记分支,但为了使标记保持最新,我必须在每次提交到当前稳定版本时删除/添加标记。也许提交钩子可以帮上忙,但是有没有更简单的解决方案来实现自动化呢?(也许没有学习windows脚本主机之类的?)

为每个新的稳定版本在构建服务器上添加一个新项目是可能的,但这相当复杂且容易出错…

也许你可以创建一个符号链接,使/branches/stable-version重定向到你的上一个稳定分支(手动操作,但在每个新的稳定分支创建时只做一次)。因此,您的存储库看起来像这样:

/trunk
/branches/stable-20100716
/branches/stable-20111231
/branches/stable-20110401
/branches/specialversion
/branches/stable-version    # symbolink link to stable-20111231
/tags/some-tag

最简单的解决方案似乎是重命名您的稳定目录。如果你只有一个稳定的当前版本,那么你应该只有一个稳定的目录。

如果您需要保留最近的3或4个稳定版本,请设置3或4个稳定目录并为每个目录设置一个Cruisecontrol项目。

如果您希望构建机器自动构建具有最新日期的版本,并将其用作"稳定"构建,那么您可能需要对CruiseControl配置文件进行一些神奇的操作。可能在项目配置中使用动态值。

http://www.cruisecontrolnet.org/projects/ccnet/wiki/Dynamic_Values

相关内容

  • 没有找到相关文章

最新更新