[TOC]
记录一下FastBuild分布式编译环境部署以及遇到的一些问题
环境
软件 | 版本 | 备注 |
---|---|---|
系统 | win10 | |
FBuild.exe | v1.08 | |
FBuildWorker.exe | v1.08 |
安装
参考[1]讲的比较清楚了
- 1.下载
参考[2]地址,直接下载。里面FBuild.exe和FBuildWorker.exe
F:. FBuild.exe FBuildWorker.exe LICENSE.TXT
- 2.将FBuild.exe添加到环境变量
运行
- 1.写Fbuild.bff文件
- 2.运行 命令如下: ``` // 本地编译 FBuild.exe -clean
// 分布式编译 FBuild.exe -clean -dist
* 3.结果
下面就表示成功了
FBuild.exe -clean 12>Obj: F:\study\engine\FastBuild\Tutorial\HelloWorld\Out\main.obj 6> Exe: F:\study\engine\FastBuild\Tutorial\HelloWorld\Out\HelloWorld.exe FBuild: OK: all Time: 1.929s ```
问题
1. clang11.bff相关报错
编译FastBuild源码的时候,遇到的问题和参考[1]不一样,是clang11相关的报错
>FBuild.exe All-x64-Release
Using VS2019 (v14.29.30133) from C:/Program Files (x86)/Microsoft Visual Studio/2019/Enterprise/VC/Tools/MSVC/14.29.30133
----------------------------------------------------------------------
- Unable to auto-detect Clang - please specify installation manually -
----------------------------------------------------------------------
F:\study\engine\FastBuild\FASTBuild-Src-v1.08\dist_v1.08\External\SDK\Clang\Windows\Clang11.bff(32,33): FASTBuild Error #1009 - Unknown variable '.Set_Path_Here'.
.Clang11_BasePath = .Set_Path_Here // <-- Set path here
^
\--here
原因:
- 默认编译clang相关的东西了
解决:
- 直接把fbuild.bfff里面关于clang相关的全部注释掉了,我只要编译vs的就行了
2. 分布式编译不成功
参考[1]说的我都满足了,但是就是没有在工作机上编译
参考[3]这个文档也很好,也说了一些问题的解决办法
原因:
- 共享文件夹的问题,这个很好验证
只要工作机能打开共享文件夹即可,也可以看下共享文件夹下面有没有生成工作机的文件
\\server-pc\.fastbuild.brokerage\main\%version%\%hostname%
比如我的如下:
- 防火墙相关
网上以及参考[3]有提到过这个,不过我局域网防火墙是开着的,木有影响。
- -dist参数
需要加-dist的参数,我遇到一个是文件夹下面有个fastbuild.bat,然后里面写的没有带-dist,虽然我在命令行输入的是-dist,但是却一直没生效,最后发现时候都哭死,命名很重要啊!!!
FastBuil -clean -dist
- 工作机能力太强
我这边把网上很多帖子都看了一遍,结果发现我情况都是对的,但是就是不在工作机工作,任务一直没有发布到工作机。log也显示有workers,工作机也显示connection
> FBuild.exe -clean -dist -forceremote
2 workers found in '\\10.11.180.117\FASTBuildBroker\main\22.windows\'
直到我看到了-forceremote参数,并且试了一下,就里面搞定了。原来是任务只有一个,默认先本地执行了,我本机有8核,所以理论上小于8的任务数量都只会在本地执行了。加完-forceremote参数后,我笑了 ^_^
解决:
- 参考[1]基本上解决了问题
- 其他的就看本地配置和参数
参考
[2]Download