制作“构建”涉及什么?

时间:2009-06-18 14:07:39

标签: asp.net visual-studio

在我工作的地方,我们使用设定的时间表来构建我们的应用程序。构建涉及什么?如何让应用程序在本地主机以外的地方构建?

4 个答案:

答案 0 :(得分:5)

我前几天遇到过这个问题......它有助于澄清有关构建ASP.NET网站的一些事情。不是一个确定的答案,但值得一看。

http://msdn.microsoft.com/en-us/library/399f057w.aspx

  

ASP.NET提供了两种预编译站点的选项:

     

预编译网站。此选项对于要增强性能和执行错误检查的现有站点非常有用。

     

预编译站点以进行部署。此选项可创建可以部署到生产服务器的特殊输出。

     

此外,您可以预编译站点以使其成为只读或可更新。以下部分提供了有关每个选项的更多详细信息。

答案 1 :(得分:4)

构建的基本目的是确保将网站所需的所有文件的一致性集合在一起。

这通常是通过从源代码控制中检索文件,将它们打包到适当的存档或归档(称为构建过程的工件)中,然后使用脚本将这些文件发送到生产或QA服务器(然后是应用程序)来完成的。启动。

根据技术和项目,构建脚本可能会编译文件,运行测试,创建存档,将文件复制到不同的位置以及具有这种性质的东西。

有不同的工具可以支持构建过程以提供底层脚本编写功能。构建脚本有时可以具有唯一属性,例如确保给定任务仅运行一次,即使较大构建的不同部分需要确保它运行(例如创建目录以部署工件的任务,目录是只创建一次,构建脚本引擎(如NAnt)确保即使多次调用任务,每次构建也只运行一次。

如果您想了解有关构建的更多信息,请查看一些使用您熟悉的技术的开源项目,并查看它们的构建过程(如何更改代码并进行部署)。

答案 2 :(得分:4)

This Joel On Software文章是我最喜欢的构建,每日构建,构建服务器的解释。

他在本文和许多其他文章中的主要论点是,您需要花费更多的精力来创建构建(这意味着对源文件的任何编译或转换,包括更改它们的位置以便它们将被生产/测试准备好)软件效率较低,质量较差,在部署/构建过程中容易出错。理想情况下,使用Web应用程序,您可以单击一个脚本,它可以从源代码控制中获取最新文件,编译它们,并将所有内容部署到目标位置。

许多商业产品可以帮助您实现这一目标。我喜欢Team Foundation Server,但它可能不适合您的预算/文化/编程语言选择。拥有自定义构建脚本并不是最糟糕的主意,因为它可以让您的编程团队更好地了解您的流程。

答案 3 :(得分:3)

主题有wikipedia article

  

在计算机软件领域,   术语软件构建指的是   转换源代码的过程   文件到独立软件   可以在a上运行的工件   计算机,或这样做的结果。   一个最重要的步骤   软件构建是编译   源代码文件的过程   转换为可执行代码。

     

虽然对于简单程序的过程   由单个文件组成   编译,复杂的软件   源代码可能包含许多文件   并且可以以不同方式组合   生产许多不同的版本。

     

构建计算机的过程   程序通常由构建管理   工具,一个协调和   控制其他程序。示例   这样的程序是make,ant,maven   和SCons。构建实用程序需要   编译并链接各种文件   正确的订单。如果是源代码   在特定文件中没有改变   那么它可能不需要重新编译   (也许不是不必因为   它本身可能依赖于其他文件   已经改变了)。复杂的   构建实用程序和链接器尝试   不要重新编译那些代码   不需要它,缩短时间   需要完成构建。现代   构建实用程序可能部分   集成到版本控制中   像Subversion这样的程序。更多   复杂的过程可能涉及其他   生成代码或数据的程序   构建过程。