Build 什么是构建工具?

Build 什么是构建工具?,build,Build,在过去的4年中,我一直在使用Eclipse(用于Java)和Visual Studio Express(用于C#)进行编程。提到的IDE似乎总是提供程序员可能要求的每一种工具(当然是与编程相关的) 最近我听说了一种叫做“构建工具”的东西。我听说它们几乎被用于各种现实世界的开发。它们到底是什么?它们的设计目的是解决什么问题?为什么在过去的四年里我从不需要它们?它们是那种命令行精简IDE吗 构建工具通常在命令行上运行,可以在IDE内部运行,也可以完全独立于IDE运行 其思想是将编译和打包代码的工作与

在过去的4年中,我一直在使用Eclipse(用于Java)和Visual Studio Express(用于C#)进行编程。提到的IDE似乎总是提供程序员可能要求的每一种工具(当然是与编程相关的)


最近我听说了一种叫做“构建工具”的东西。我听说它们几乎被用于各种现实世界的开发。它们到底是什么?它们的设计目的是解决什么问题?为什么在过去的四年里我从不需要它们?它们是那种命令行精简IDE吗

构建工具通常在命令行上运行,可以在IDE内部运行,也可以完全独立于IDE运行

其思想是将编译和打包代码的工作与创建、调试等分开

构建工具可以在命令上运行,也可以在IDE中运行,两者都由您触发。在将代码从存储库中签出并放到干净的构建机器上之后,连续集成工具也可以使用它们

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


作为Java开发人员,最流行的构建工具是Ant和Maven。两者都可以在IDE中运行,如IntelliJ、Eclipse或NetBeans。它们也可用于巡航控制或哈德逊等持续集成工具。

您一直在使用它们-IDE是一个构建工具。对于命令行,您可以使用类似于
make
的东西


人们使用命令行工具进行夜间构建之类的工作——因此,在早上,程序员在宿醉中意识到,他一直在摆弄库的最新构建的代码不起作用

构建工具是管理和组织构建的工具,在有许多项目的环境中非常重要,尤其是当它们相互连接时。它们的作用是确保在不同的人从事不同的项目时,他们不会破坏任何东西。为了确保当你做出改变时,它们也不会破坏任何东西

你以前没有听说过他们的原因是你以前没有在商业环境中工作过。在商业环境中,尤其是在软件公司工作时,可能会遇到很多你可能从未遇到过的东西


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

< P>工具通常是将源代码转换成二进制文件——它组织源代码、设置编译标志、管理依赖关系……其中一些还集成了运行单元测试、进行静态分析和生成文档

Eclipse或visualstudio也是构建系统(但更像是IDE),对于visualstudio来说,它是底层msbuild,用于在后台解析visualstudio项目文件

所有构建系统的起源似乎都是著名的“make”

有针对不同语言的构建系统:

  • C++:make、cmake、premake
  • Java:ant+ivy、maven、gradle
  • C#:msbuild

  • 通常,使用适当的领域特定语言(make、cmake)或xml(ant、maven、msbuild)构建系统以指定构建。当前的趋势是使用真正的脚本语言来编写构建脚本,如用于premake的lua和用于gradle的groovy,使用脚本的优点是它更灵活,还允许您提出一组标准API(如构建DSL)。

    什么是构建工具?

    构建工具是自动创建可执行文件的程序 源代码中的应用程序(例如,Android应用程序的
    .apk
    )。建筑 将编译、链接和打包代码合并到可用的或 可执行形式

    基本上,构建自动化是编写脚本或自动化 软件开发人员在日常工作中执行的各种任务 活动包括:

  • 下载依赖项
  • 将源代码编译成二进制代码
  • 打包二进制代码
  • 运行测试
  • 部署到生产系统
  • 我们为什么要使用构建工具或构建自动化?

    在小型项目中,开发人员通常会手动调用构建 过程这对于大型项目来说是不实际的,因为在大型项目中这是非常重要的 很难跟踪需要构建的内容、顺序和 构建过程中存在哪些依赖关系。使用 自动化工具使构建过程更加一致

    可用的各种构建工具(仅列出少数):

  • 对于java-Ant、Maven和Gradle
  • 对于.NET framework-NAnt
  • c#-MsBuild
  • 如需进一步阅读,可参考以下链接:

    一,

    二,


    谢谢。

    构建过程是使用一些构建工具编译源代码以防出现任何错误并创建构建(这是项目的可执行版本)的过程。我们(主要是开发人员)对源代码进行了一些修改,并签入这些代码以使构建过程得以进行。在构建过程之后,它给出了两个结果: 1.构建通过后,您将获得项目的可执行版本(构建就绪)。 2.它失败,您会得到某些错误,并且未创建生成

    有不同类型的构建过程,如: 1.每晚构建 2.门控构建 3.持续集成构建等

    构建工具帮助并自动化创建构建的过程


    *因此,简而言之,是开发人员或开发团队使用的一种预发布格式的软件版本,通过持续监控其产品并在开发过程的早期解决任何问题来获得对其产品最终结果的信心。*

    这些是您可以使用的不同类型的过程完成构建

    1。持续集成构建:In