打包时-buildmachine的用法和作用

当使用./Engine/Build/BatchFiles/RunUAT.sh BuildCookRun … 在windows和mac上打包安卓包的时候,-buildmachine这个参数如何正确的配置,以及配置了之后都有哪些详细的效果,只能通过源码来获取,无法通过有效的文档来得到正确的预期。我了解到的是在构建机上需要使用这个参数(确定吗),不用会怎么样,所有的sample中都未提到这一点。大多数pipeline中,都不是手动从UnrealEditor的UI中进行打包的,一定是通过上述命令行,在构建脚本中进行调用的。所以-buildmachine到底该怎么用,有什么用,以及大小写对吗。。。

[Attachment Removed]

重现步骤
当使用./Engine/Build/BatchFiles/RunUAT.sh BuildCookRun … 在windows和mac上打包安卓包的时候,-buildmachine这个参数如何正确的配置,以及配置了之后都有哪些详细的效果,只能通过源码来获取,无法通过有效的文档来得到正确的预期。我了解到的是在构建机上需要使用这个参数(确定吗),不用会怎么样,所有的sample中都未提到这一点。大多数pipeline中,都不是手动从UnrealEditor的UI中进行打包的,一定是通过上述命令行,在构建脚本中进行调用的。所以-buildmachine到底该怎么用,有什么用,以及大小写对吗。。。

[Attachment Removed]

您好,这个参数主要是给打包机器使用的,一般开发者自己打包的时候可以不加。简单一句话总结就是告诉整个工具链"不要问我,直接跑,出错就崩",所以是专为 CI/CD 自动化环境设计的。

如果使用了Epic的Horde CI/CD,这个参数默认都是加上的。如果是其他的CI/CD,建议手动加上,UAT 会自动传递给子进程,参数不区分大小写。

主要功能就是做了以下几件事:

1. 不弹窗、不交互、不等待人(否则卡死流水线)

2. 独占整机资源(不给编辑器/桌面留 CPU)

3. 产物(日志、符号、crash dump)写到 UAT 能收集的固定路径

4. 遇到挂起就宁可崩溃退出,不要跑几天

[Attachment Removed]