Subversion发布管理系统

时间:2012-05-23 12:07:56

标签: svn release-management

我们正在使用Subversion,事情进展顺利。我们正在积极地使用分支和标签来指示适当级别的版本。

但是,我们正在寻找一种发布管理工具。从本质上讲,它需要做的事情相对简单:

  1. 从Subversion获取相关代码(基于标记)。
  2. 做准备工作(例如:把它放在tar中,排除某些目录)。
  3. 审计跟踪("用户X正在执行此版本")
  4. 电子邮件路径(发送指示发布请求的电子邮件)。
  5. 执行安装。
  6. 我们之前已经创建了自己的基于Web的系统来处理这类事情(发布请求)。实际上,它是我们所追求的工作流程的更多内容。

    我知道SVN本身可以用来更新不同的服务器,但这对我们来说并不合适。由于使用了安全级别,我们不希望使用SVN本身更新生产服务器。目前,我们的运营团队会根据发布情况提取tar文件。开发人员没有这种级别的访问权限,因此存在一定程度的分离。

    我们不需要 build 管理工具,因为该软件位于Perl中,我们对此过程感到满意。 Subversion中的一切都安然无恙。关键是部署,一旦所有内容都被标记并准备就绪!

    期待您的意见。

2 个答案:

答案 0 :(得分:1)

我不倾向于使用这些东西,因为我发现保持部署最新和正确所需的工作非常困难,但我想这取决于您的软件和您拥有的部署目标的类型(例如,我们无法在我的舞台上自动部署到客户端!)。

但是,Thoughtworks中有Go可能适合您,或uDeploy。我会非常小心地使用昂贵的工具,我使用的工具非常可怕,我们尽快将其分类。

你可能想快速浏览一下Jenkins,我知道它会为你解决一个已解决的问题,但它可以(除了构建 - 它仍然可以运行你的perl脚本)打包构建并执行您想要的电子邮件和审计工作流它可能能够运行安装,但这取决于您的安装系统。 Jenkins是一款出色的软件,无论如何都值得关注。我认为它适合您现有的系统,只需要您做出轻微的妥协。

对于实际部署,您可以使用类似Puppet的内容,它也会为您提供有关已完成步骤的一些反馈。

答案 1 :(得分:0)

传统方法是使用automake进行分发tarball,然后使用简单的shell脚本执行其他步骤。这应该写得相当快,并且很容易改变。