我有一个Java应用程序的自动部署过程,目前我在构建机器上构建应用程序,将构建检入scm,并让生产计算机将构建工件(这是一个zip)和通过ant move类和配置文件到他们应该是的地方。部署:是否在生产机器上构建?
我见过其他策略,生产机器从scm中抽取源代码并自行构建它。
我不喜欢前一种方法的事情是,如果我正在生产而不是暂存或开发或其他任何东西,我必须在构建中手动指定env。如果目标服务器负责这个工作,那么构建过程中会涉及到更少的思想和摩擦。不过,我也喜欢使用与在分段测试中完全相同的构建。
所以,我想我的问题是,是否已经将已构建/已经测试过的应用程序复制到生产环境或让生产在测试完成后再次构建应用程序。