• 持续集成--01构建工具概览


    #《持续交付 发布可靠软件的系统方法》Page116

    1.构建工具都有一个共同的核心功能,即可对依赖关系建模。

    2.每个构建任务包含两点:

    2.1 它做什么

    2.2 它依赖于什么

    3.构建工具的不通点在于它是任务导向的,还是产品导向的。

    3.1 任务导向:Ant、NAnt、MSBuild。每个任务都知道自己在构建构成中是否被运行过,所以任务被调用两次,也只会执行一次

    3.2 产品导向:Make。将状态以时间戳的形式保存在每个任务执行后生成的文件中。这在编译C或C++程序时非常好,因为Make会保证只编译上次构建够发生过修改的源代码文件。

    4.Make

    能在单次构建中追踪依赖关系,还能只构建那些受到本次修改影响的组件。当编译时间占时间成本时,对于提升团队开发效率很有用。

    4.1 Make缺点一:随着应用程序复杂程度和组件之间依赖关系的增加,让Make难以调试。

    为了使这种复杂性更易控制,一个常见的约定是在每个目录下创建一个Makefile,最上层的Makefile会递归调用每个子目录中的Makefile。

    4.2 Make缺点二:它依赖于shell做所有的事情,Makefile就不得不和操作系统绑定在一起。

    5.SCons

    是一个Python写的自动化构建工具,和GNU Make相比优点明显(暂未遇到,后续补充)

  • 相关阅读:
    nginx限速 原理
    规则引擎 图形界面
    阿里巴巴 规则引擎
    martinfowler Data Guide big data bad things
    Nginx Request URI too large
    linux2.6.30.4内核移植(1)
    根文件系统
    Linux内核配置:定制配置选项
    Linux内核配置:Kconfig
    Linux内核配置:Makefile目标
  • 原文地址:https://www.cnblogs.com/cevinchen/p/9349825.html
Copyright © 2020-2023  润新知