0

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

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

  1. 从 Subversion 获取相关代码(基于标签)。
  2. 做准备工作(例如:把它放在一个 tar 中,排除某些目录)。
  3. 审计跟踪(“用户 X 正在执行此版本”)
  4. 电子邮件跟踪(发送一封表明发布请求的电子邮件)。
  5. 执行安装。

我们之前创建了自己的基于 Web 的系统来处理这类事情(发布请求)。真的,这更多是我们所追求的工作流程。

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

我们不需要构建管理工具,因为该软件在 Perl 中,我们对它的运行方式感到满意。在 Subversion 中一切都安全无虞。关键是部署,一旦一切都标记好并准备就绪!

期待您的输入。

4

2 回答 2

1

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

但是,来自 Thoughtworks 的Go或uDeploy可能适合您。我会非常小心地使用昂贵的工具,我使用的工具太可怕了,我们会尽快将它装箱。

您可能想快速查看一下 Jenkins,我知道它会为您解决一个已解决的问题,但它可以(除了构建 - 它仍然可以运行您的 perl 脚本)打包构建并进行电子邮件和审核您想要的工作流程。它可能能够运行安装,但这取决于您的安装系统。Jenkins 是一款优秀的软件,无论如何都值得研究。我认为它会适合您现有的系统,而您只需稍作妥协。

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

于 2012-05-23T13:06:06.690 回答
0

一种传统的方法是使用automake分发 tarball,然后使用简单的 shell 脚本执行附加步骤。这应该写得很快,而且很容易改变。

于 2012-05-23T12:28:12.860 回答