2012-05-23 139 views
1

我们使用的是Subversion,事情进展顺利。我们正在积极使用分支机构和标签,以适当的级别指示发布。Subversion版本管理系统

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

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

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

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

我们不需要构建管理工具,因为该软件在Perl中,我们很满意这种情况。这在Subversion中是安全的。关键是部署,一旦一切都被标记和准备就绪!

期待您的意见。

+0

身份证只是使用詹金斯是我:-) – prodigitalson

+0

你有单元测试?他们在发布前运行吗?最好是使用像Jenkins这样的东西并编写一个Perl脚本来创建档案等等。或者在这种情况下,可能值得看一下这个任务的蚂蚁吗? – khmarbaise

+0

这不像是我在这里之后发布的版本。更“我们有释放,现在怎么办?”。我们有多个SVN项目和多个目标环境。这是一种通过审核和控制的方式将发布版本发布到这些环境中的方法,我所追求的。这是我们编写我们自己的Web界面系统的地方,尽管我们的操作团队通过FTP和tar完成了安装。有没有一种产品可以实现这一点,本质上呢? –

回答

0

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

1

我不倾向于使用这些类型的东西,因为我发现需要尽力保持部署是最新的,而且正确性相当困难,不过我想这取决于您的软件和您拥有的部署目标类型(例如,我们不可能在我的舞台上自动部署到客户端!)。

但是,Yettworks有Go可能适合您,或者uDeploy。我会非常小心地使用昂贵的工具,我使用的工具太可怕了,我们尽快将其装箱。但是它可以(除了构建 - 它仍然可以运行你的perl脚本)打包构建并且执行您想要的电子邮件和审计工作流程。它可能能够运行安装,但这取决于您的安装系统。詹金斯是优秀的软件,无论如何都值得研究。我认为它适合您现有的系统,只需稍作妥协。

对于实际部署,您可以使用类似Puppet的东西,这些东西也会给您一些关于已完成步骤的反馈。