2009-12-14 26 views
0

我有一个Java应用程序的自动部署过程,目前我在构建机器上构建应用程序,将构建检入scm,并让生产计算机将构建工件(这是一个zip)和通过ant move类和配置文件到他们应该是的地方。部署:是否在生产机器上构建?

我见过其他策略,生产机器从scm中抽取源代码并自行构建它。

我不喜欢前一种方法的事情是,如果我正在生产而不是暂存或开发或其他任何东西,我必须在构建中手动指定env。如果目标服务器负责这个工作,那么构建过程中会涉及到更少的思想和摩擦。不过,我也喜欢使用与在分段测试中完全相同的构建。

所以,我想我的问题是,是否已经将已构建/已经测试过的应用程序复制到生产环境或让生产在测试完成后再次构建应用程序。

回答

2

如果你已经有一个自动化的构建系统正在创建一个测试版本,那么扩展它有多难,以便它同时构建一个测试版本和一个生产版本。通过这种方式,您可以获得安全的知道他们是从完全相同的签出源构建的,而且您的手工劳动少。我非常畏惧检查构建的工件到SCM中的想法!

1

我总是比较喜欢在生产服务器上保持尽可能少的人性化 - 少更新,少出错。