什么是构build工具?

在过去的四年里,我一直在使用Eclipse(用于Java)和Visual Studio Express(用于C#)进行编程。 所提到的IDE似乎总是提供程序员可能要求的每个设施(当然,与编程有关)。

最近我听说过一些叫做“构build工具”的东西。 我听说他们几乎用于所有现实世界的发展。 他们究竟是什么? 他们devise要解决什么问题? 过去四年来我怎么不需要他们? 它们是一种命令行剥离的IDE?

什么是构build工具?

构build工具是从源代码自动创build可执行应用程序的程序(例如.apk for android应用程序)。 build筑包含编译,链接和打包成可用或可执行forms的代码。

基本上,构build自动化是软件开发人员在日常活动中执行的各种任务的脚本或自动化操作,例如:

  1. 下载依赖关系。
  2. 将源代码编译成二进制代码。
  3. 打包二进制代码。
  4. 运行testing。
  5. 部署到生产系统。

为什么我们使用构build工具或构build自动化?

在小型项目中,开发人员通常会手动调用构build过程。 对于大型项目来说,这是不实际的,因为很难跟踪需要build立什么,build筑过程中的顺序和依赖关系。 使用自动化工具可以使构build过程更加一致。

各种可用的构build工具(命名只有几个):

  1. 对于Java – Ant,Maven,Gradle。
  2. 对于.NET框架 – NAnt
  3. c# – MsBuild。

欲了解更多信息,请参阅以下链接:

1. 构build自动化

2. 编译自动化软件列表

谢谢。

构build工具是pipe理和组织构build的工具,在有许多项目的环境中非常重要,特别是在相互连接的情况下。 他们有助于确保不同的人在不同的项目上工作,他们不会破坏任何东西。 而且要确保当你做出改变的时候,也不会破坏任何东西。

你之前没听说过的原因是你之前从未在商业环境中工作过。 在商业环境中,您可能没有遇到过很多东西,特别是在软件公司工作的时候。

正如其他人所说的,你一直在使用它们,但是,你不必考虑它们,因为你可能已经以不同的方式工作在通常的商业方式上。

构build工具通常在命令行上运行,在IDE内部或与之完全分离。

这个想法是将编译和打包代码的工作与创build,debugging等分开。

构build工具可以在命令上运行,也可以在IDE内部运行,都由您触发。 在将代码从存储库中检入到干净的构build机器之后,它们也可以被持续集成工具使用。

make是* nix环境中用于构buildC / C ++的早期命令工具。

作为Java开发人员,最stream行的构build工具是Ant和Maven。 两者都可以在IntelliJ,Eclipse或NetBeans等IDE中运行。 它们也可以被Cruise Control或Hudson等持续集成工具所使用。

构build工具通常是将源代码转换为二进制文件 – 它组织源代码,设置编译标志,pipe理依赖关系…其中一些还与运行unit testing,静态分析,生成文档集成在一起。

Eclipse或Visual Studio也是构build系统(但更多的是IDE),对于visual studio,它是底层的msbuild,用于parsingVisual Studio项目文件。

所有构build系统的起源似乎都是着名的“制造”。

有不同语言的构build系统:

  1. C ++:make,cmake,premake
  2. Java:ant + ivy,maven,gradle
  3. C#:msbuild

通常,使用专有领域特定语言(make,cmake)或xml(ant,maven,msbuild)来构build系统来指定构build。 目前的趋势是使用真正的脚本语言来编写构build脚本,比如用于premake的lua,Groovy用于gradle,使用脚本的优点是灵活得多,并且还允许您创build一套标准API(如构buildDSL)。

构build过程是一个使用一些构build工具和创build构build(这是项目的可执行版本)编译您的源代码的过程。 我们(主要是开发人员)在源代码和签入代码中进行一些修改,以使构build过程发生。 在构build过程之后,它提供了两个结果:1.构buildPASSES,并获得项目的可执行版本(构build就绪)。 2.它失败,你会得到一定的错误,build立不会被创build。

有不同types的构build过程,如:1.夜间构build2.门控构build3.持续集成构build等

构build工具可以帮助您自动创build构build过程。

* 所以Short Build是开发者或开发团队使用的预发布格式的软件版本,通过持续监控产品并在开发过程中尽早解决任何问题,从而获得产品最终结果的信心。 *

这些是不同types的过程,通过它们你可以完成你的构build。

1.持续集成构build:在这个过程中,开发人员检查他们的代码,在他们签入之后,一个构build会启动以构build最近的变化,所以我们应该知道开发人员所做的更改是否正常工作完成。 对于较小的项目或项目的组件,这是首选。 如果有多个小组与该项目相关联,或者存在很大的否。 在同一个项目上工作的开发人员,这种情况变得难以处理,就好像“n”不是。 的检查和build立失败,在某些时候很难追查是否所有的破损是由于一个问题或多个问题发生的,所以如果旧的问题没有得到妥善解决,就很难追溯到后来在变化之后发生的缺陷。 这些构build的主要好处是我们知道某个特定的入住是否成功。

2.门控签入构build:在此types的签入中,在签入完成之后,立即启动build立。 在这种情况下,如果构build成功,则搁置集检入将被提交,否则将不会提交给Team Foundation Server。 这从持续集成构build中得到了一个稍微好一点的图片,因为只有成功的签入被允许提交。

3.每晚构build:这也被称为计划构build。 在这种情况下,我们安排构build运行一个特定的时间,以build立变化。 所有以前未提交的更改都是在构build过程中构build的。 当我们想要多次检查,但是不想每次检查代码时都要build立一个build,所以我们可以有一个固定的时间或周期来启动构build签入代码的构build。

关于这些构build的更多细节可以在下面的位置find。

在构build中进行门控检查

持续集成构build

每晚生成

你一直在使用它们 – IDE是一个构build工具。 对于命令行,你可以使用像make这样的东西。

人们使用命令行工具来进行每晚的构build – 所以在早上宿醉的时候,程序员已经意识到,他用最新版本的库来处理的代码是行不通的!