Jenkins:Unity 批处理模式构建成功 - 构建文件夹为空

Jenkins: Unity batch mode build successful - Build folder empty

我设置了一个新的 Jenkins 从站,我在其上调用 Unity CLI 以使用我的自定义构建方法进行构建:

touch holo-build.log
if ! "$UNITY_APP" -projectPath "$WORKSPACE" \
    -buildTarget WindowsStoreApps  \
    -executeMethod "$BUILD_METHOD" \
    -quit -batchmode -logFile holo-build.log
then
    echo "Unity did not report a successful build, refer to the holo-build.log to get details"
    exit 1
fi

这实际上已经适用于不同的奴隶。然而,在新版本上,Unity 以成功退出代码 (0) 退出 - 导致 Jenkins 正常进行,但实际上从未创建解决方案。除了日志文件,整个 Build 文件夹仍然是空的,日志文件也没有报告任何特殊的内容,只有带有警告但没有错误的编译注释,最后记录的行是 "Exiting batchmode successfully"

这可能是什么问题?

原来 Unity 不喜欢在普通用户之外 运行。 jenkins 服务在 system account 下设置为 运行,这导致 Unity 行为异常。

在普通用户帐户下将服务更改为 运行 后,一切开始正常运行。

注意:在使用系统账号的时候,服务属性里也有交互模式,我觉得应该可以,但是也失败了。