版本说明

3.17

  • 增加了对其他 SSL 格式的支持,包括上传完整的证书链。

  • 添加了对 AOSP 13 的支持。

  • 将 Apache HTTP 服务器升级到 2.4.55 以提高安全性。

  • 增加了在机器上安装仅启动器代理的功能(无 Helper Agent)。

  • 增加了为 linux 用户组中定义的所有用户启用构建缓存的功能。先前,您只能为单个用户或所有用户启用该功能。

  • 增加了对 RHEL 9 和 SUSE 4 SP15 的支持

  • 收紧了对某些文件的访问权限,因此现在一些更改设置的 CLI用于用户管理的 CLI 需要根用户权限。

3.16.1

  • 增加了对对使用包含参数路径链接的 AFS 文件系统的支持。

  • 修复了高可用性 Coordinator 中的一个问题,在某些边缘情况下,故障转移需要更长时间。

3.16

  • 现在,您可以安装一个 Secondary Coordinator,如果您的 Primary Coordinator 出现故障,则将使用 Secondary Coordinator。

  • 您可以随时使用我们的新脚本备份和恢复 Coordinator 上的数据。

  • 现在,您可以使用命令行修改许多设置。

  • 升级了第三方库以提高安全性:PHP 7.4.33、Open SSL 1.1.1s、Apache 2.4.54。

3.15

  • 添加了对 Yocto 4、Amazon Linux 2 和 Ubuntu 22.04 的支持

  • 添加了一个在您的许可证到期前 30 天通知您提醒。

  • 我们升级了 Build Avoidance 算法中使用的缓存版本。升级到 3.15 后,您运行的第一个构建将自动刷新您的缓存(仅一次),速度可能会稍慢一些。

  • 总体性能和可扩展性改进。

3.14.1

  • 修复了 3.14 中的回归,Helpers 有时在里面未得到充分利用。

  • 添加了对 podman 和 lxc containers 的支持

3.14.0(pi 版本!)

  • 添加了对 AOSP 12 的支持。

  • 向命令行添加了 新标记,验证当前是否订阅了 Helper Agent。

  • 您现在可以决定 Helper Agents 在第一次连接到 Coordinator 时是否自动订阅

  • 改进算法,以更有效地使用 Helper Agents。

3.13.0

  • Incredibuild Linux 支持 Yocto 构建:

  • 整个用户界面已经过重新设计,以改善观感。

  • 我们添加了一个针对因压缩性能而变慢的构建优化。

  • 我们添加了向数据库发送额外性能数据以进行性能分析的选项。

  • 我们的内部数据库已经过优化,在使用更少的磁盘空间的同时提高性能。但是,升级到此版本后,将无法再访问以前版本中构建的 Build Monitor 数据。

3.12.3

  • 稳定性和性能改进。

3.12.1

  • 缓存 CPU 内存管理改进。

  • 在报告错误的情况下,在用户界面中添加了有意义的错误消息。

  • 修复了在 3.11 中引入的与导出日志相关的小回归。

  • 解决了文本输出有时无法识别新行的问题。

3.12.0

  • 您现在可以使用 HTTPS 访问 Incredibuild 用户界面。

  • 您现在可以使用 SSL 加密 Incredibuild 组件之间的通信。

  • Incredibuild 现在可以遵循 Docker 容器的资源限制。

  • 您现在可以指定运行构建时 Initiator 使用的最大本地核心数

  • 我们提高了导出日志文件的速度。

  • 一般错误修复和稳定性改进。

3.11.0

Incredibuild Cloud 现已支持 Linux

Incredibuild Cloud 使用云 VM 让您可以立即扩展规模至上百个内核。Incredibuild 使用的算法用于节约成本并最大化性能。

3.10.0

  • Android 开源平台 (AOSP) 11 现已支持。

  • 在可以使用同一个一体化安装程序进行安装升级

  • 系统要求已更新。

  • 我们增加了一些新的图标,并对选择图标的方式进行了优化。

  • 您现在可以停止待处理状态的构建。

  • 一如既往,每个版本都对错误进行了修复,并对稳定性进行了提升。

3.9.0

Incredibuild Linux UI 现支持:

  • 在 Coordinator monitor 上对多个机器进行基于过滤的 Bulk 运行。

  • Coordinator monitor 视图 - 每页选择的条目数量最优

  • Coordinator monitor 视图过滤 - 选择搜索栏时增加了下拉菜单

  • 错误修复和稳定性改进

3.8.3

注意: Incredibuild Linux 正在过渡到语义化版本的模式。即,您现在可以在我们发布新版本的时候,辨别出升级可用的内容的类型。0.96.80 > 3.8.3(之前为 0.96.91…)

Coordinator Monitor:

  • 在 Coordinator Monitor 网格视图下,增加了过滤选项

    纵列名称

    Agent 状态

    • Agent Name

    • Agent IP

    • Build Group

    • Licensed / Agent’s Cores

    • Initiator / Helper Active Cores

    • Memory

    • Operating System

    • Model Name

    • Version

    • Subscribed

    • Unsubscribed

    • Online

    • Offline

  • Agent Management Console 的用户验证

    增加了用户验证,允许对 Agent 的用户界面进行受控访问。增加了两个用户组:

    • 进行编辑和查看操作的已验证用户

    • 在 Agent UI 上只有“仅查看”权限的访客用户

默认关闭用户验证 - 当“list”为空时,此特性关闭

  • 当运行 --no-monitor mode 的时候,Monitor 选项卡也可以打开

  • 在 Build History 选项卡增加了“Stop Build”的功能。

  • 在 Task Information 窗口增加了 Task Duration 信息

Build Groups:

  • 新的 Build Group 功能:

    • 机器可能通过 Coordinator monitor 被分配到 Build Group (与 Subscribe 动作类似)

    • 一个 Initiator 可能会仅通过分享相同Build Group 的 Helper 被分配到 Helper 内核

  • 所有的机器都被预定义为“默认” Build Group 的一部分。

  • 在 Coordinator Settings 选项卡可以进行 Build Group 设置(编辑、增加、删除)

安装验证:

  • 安装验证 - 如果可用磁盘空间小于 50 GB,且磁盘分区小于 20%,安装则会失败。

  • 避免因目录权限不足而将 tmpfs 文件系统用作 Incredibuild 存储。

0.96.80 版本

新增对 Android 10 (Q) (AOSP) 的支持

Incredibuild Linux 现已支持 Android 10 (Q) 构建执行的加速。

如需详细信息,请参考执行 Android 10 OS 构建

错误修复和稳定性改进

0.96.71 版本

新的许可证种类 - 单次使用 VM

Incredibuild Linux 现在提供一个新的种类的许可证 - 单次使用 VM (SUVM)。此许可证用于启用为任务执行提供额外 CPU 资源的 VM 或 container。当它们所服务的任务完成的时候,这些机器也被终止。在这种机器运行的时候,Coordinator 自动分配 SUVM 许可证至这些机器。当任务结束且机器被终止时,SUVM 许可证将被自动取消分配,并返回到 Coordinator 以对其他机器重用。如需更多信息,请联系 Sales@Incredibuild.cn

新增 Build Avoidance 能力

新增一个内置缓存选项,可以不通过重建最新的对象来加速任务执行过程。可以通过壳根据变化的需求和资源轻松启用或关闭 Build Avoidance 能力。

Bazel 支持

Incredibuild Linux 现已支持 Bazel 至 0.25.0 版本,以及 Bazel 沙盒构建。

额外改进

  • 安装改进。

  • 对 Incredibuild Linux 运行所需网络端口的配置过程进行简化和安全性加强。

0.96.37 版本

  • 解决了 Incredibuild Coordinator 重启的时候可能导致构建失败的问题。

  • 解决了如果 Initiator 失去了与 Incredibuild Coordinator 的一个连接,则会导致运行的构建失败的问题。

  • 多处稳定性优化。

0.96.26 版本

Build Systems 支持:

Incredibuild 现提供对 Gradle 构建的试验性支持。如需更多信息,请联系我们 support@Incredibuild.cn

性能

  • 在产品中增加了一个选项,可以提升最多约 20% 的执行性能。此选项禁用了查看 Incredibuild 收集的用于展示 Incredibuild 图形化构建的监视器以及用于构建查询的数据的能力。此选项启用时,Console 窗口构建输出和构建历史仍然可用。有两种方式使用此选项:
    • 在 ib_console 命令行中增加 --no-monitor 标志。

    • 在启用的机器的 Agent Setting 中,取消选择 Visualization 选项卡中的 "Enable Build Monitor” 复选框:

  • 一些一般的性能优化可以带来 7% 的额外性能提升。

其他

  • Incredibuild 现可在新许可证载入 Coordinator 时对 Agent 的许可证内核分配情况进行维护。

  • 修复了各种稳定性问题。

0.95.12 版本

Build Systems 支持:

  • Incredibuild 现提供对 Bazel 构建系统的试验性支持。对于常用的 TensorFlow 工程编译,其基线展示出7.5 倍的加速能力,让 TensorFlow 编译时间从 65 分钟缩短到 8.5 分钟。

  • 使用 Incredibuild 运行 Bazel 构建,需要将如下加入标准的 Bazel 命令:

    --jobs=N --local_resources=R,N,1

    N 表示您 Incredibuild 基础设施中的内核总数,参数 R 应该为 N*200。例如,如果您的 Incredibuild 基础设施中的内核数为 70,则命令行为:

    --jobs=70 --local_resources=14000,70,1

  • ccache 支持:Incredibuild 现全面支持所有工作模式的 ccache (显式调用以及通过软连接的隐式) - 更多信息参考 ccache 手册 https://ccache.samba.org/manual.html#_run_modes

使用 Incredibuild 时创建的 ccache 数据库,可能被没有使用 Incredibuild 执行的构建使用,反之亦然。例如,无论是否有 Incredibuild 调用,ccache 具有完全的互操作性。

安装:

  • 为了避免 Incredibuild 版本升级对客户侧造成困扰,引入了一个新的实用脚本:ib_apply_upgrade.sh(位于 /opt/incredibuild/management)。此脚本应在安装了 Coordinator 并接受了一个参数“the upgrade tar file”的机器上与 sudo 执行。命令行样例:

    sudo /opt/incredibuild/management/ib_apply_upgrade.sh Incredibuild_upgrade_0.94.95.tar.bz2

    通过此方式,它会被提取至正确的位置,然后Coordinator 会将网络中所有的 Agent 都升级到自己的版本。

  • Incredibuild n 安装的变化:

    仅当 -C 选项未给出的时候,才需要 -O <coordinator ip/hostname>。安装 Coordinator 时,都需要使用本地主机。因此,这种情况下不需要 -O,甚至 -O 不能存在。

其他:

  • chroot 脚本被更新以正确支持 schroot:

    现在有两种脚本: ib_chroot.sh 和 ib_schroot.sh

    Ib_chroot.sh 针对常规 chroot – 句法不变。

    Ib_schroot.sh 针对 schroot 用户。区别为 ib_schroot.sh 需要 chroot 的名称作为参数,而非 chroot 创建的目录。这与 schroot 的常规句法相符。Add 和 remove 的语义相同,可在命令行帮助中找到。

    重要:为让 Incredibuild 可访问 schroot 目录,请添加如下行至文件: /etc/schroot/default/fstab

    /opt/incredibuild /opt/incredibuild none ro,bind 0 0