构建和部署之间的区别?

时间:2011-06-21 15:15:11

标签: deployment build

build and deploy re-deploy 之间有什么区别? 当您进行一些HTML更改而没有Java代码更改时应该怎么做? 我应该 build and deploy 还是 re-deploy

4 个答案:

答案 0 :(得分:51)

免责声明:定义构建和部署意味着非常主观。


我将从部署开始。部署应该意味着获取我的所有工件并将它们复制到服务器,或者在服务器上执行它们。它应该是一个简单的过程。

构建意味着,处理我的所有代码/工件并为部署做好准备。意思是编译,生成代码,包等。

那有帮助吗?有些人确实认为部署是“构建过程”的一部分,我并没有真正争论过,因为通常为了测试或运行,你必须在某处部署


规则通常是动态代码,然后你需要进行构建/重新部署。

如果你只是编辑静态html,css,图像等,那么你只需要修补(最好是服务器重启)。


与“修补”一样,增加了无法部署整个代码库的风险,或者有人可能做错了。

我个人喜欢进行完整构建/重新部署,因为您始终知道自己与源代码控制同步。但是,部署变坏总是存在风险,无论是构建部分还是安装部分。如果您的构建需要很长时间,或者您不必要部署大量移动部件,那么请考虑将它们分解为更小的可部署组件或创建更完整的部署计划。

像往常一样,这里没有银弹。

答案 1 :(得分:19)

构建表示编译项目

部署表示编译项目&发布输出

  1. 对于Web应用程序,除了带有url的简单浏览器之外,无需在客户端部署或无需任何操作。 所有Web应用程序仅部署在Server Machine(IIS)上,所有客户端计算机都可以访问该应用程序(任何浏览器都足够)。

  2. 对于桌面应用程序无论您想在何处使用该应用程序,都需要在该系统中进行部署/安装。

答案 2 :(得分:2)

构建和部署是背靠背流程! 构建可以仅当存在 JAVA代码更改时。 仅用于HTML或CSS文件更新,不需要New Build。 属性文件更改需要服务器重新启动。

无需部署Unchanged Build ear / tar文件。 对于更新的内置构建,应启动服务器上的部署过程。

答案 3 :(得分:-1)

观看此部署过程:

------ Build started: Project: AdventureWorks, Configuration: Release ------
Skipping 'belyaev_db.rds'. Item is up to date.
Skipping 'Sales Rep.rdl'. Item is up to date.
Skipping 'Top_10.rsd'. Item is up to date.
Build complete -- 0 errors, 0 warnings

------ Deploy started: Project: AdventureWorks, Configuration: Release ------
Deploying to http://...
Deploying data source '/Data Sources/belyaev_db'.
Warning : ...
Deploying data set '/Datasets/Top_10'.
Warning : ...
Error ...
Deploy complete -- 1 errors, 2 warnings
========== Build: 1 succeeded or up-to-date, 0 failed, 0 skipped ==========
========== Deploy: 0 succeeded, 1 failed, 0 skipped ==========

在这种情况下,我遇到了一些问题,但正如您所看到的那样 - 第一步是构建 - 验证数据源和报告,然后才进行部署。