通过源代码编译Linux容器镜像

如何通过源代码编译虚幻引擎随附的Linux容器镜像。

Choose your operating system:

Windows

macOS

Linux

前置主题

为了能够理解并使用此页面中的内容,请确保您已掌握以下主题:

所有随附在虚幻引擎中的容器镜像都提供预编译版本,可以从GitHub容器注册表下载。一般来说,只有当你需要为某个虚幻引擎自定义版本构建开发镜像,或者修改镜像源代码时,你才需要通过源代码来编译镜像。

要求

如需构建包含在虚幻引擎中的Linux容器镜像,你的计算机需满足 硬件和软件要求 一文中"Linux容器"小节中所列明的软硬件要求。

不支持在Windows系统中通过源代码构建Linux容器镜像。虽然在Windows 10和Windows 11下可以使用Docker Desktop或WSL2来构建镜像,但该流程需要额外配置和故障排除工作才能正常运行,而且Epic Games不提供这方面的支持。你应该在Linux下构建Linux容器镜像,可以安装在虚拟机中或直接安装在主机上。

安装Docker

推荐使用Docker来构建并运行包含在虚幻引擎中的容器镜像。安装Docker步骤依你使用的操作系统而定。以下链接将提供安装说明,指导你在每个可用的平台上进行安装:

为引擎的官方版本构建镜像

如果你已经从GitHub下载了虚幻引擎源代码,那么你需要在源代码的根目录运行 Setup.sh 来下载引擎的二进制依赖文件,就像你从源代构建引擎时做的一样。如果不执行此步骤,那么构建容器镜像所需的文件就会丢失。

在虚幻引擎源代码中导航至以下子目录:

Engine/Extras/Containers/Dockerfiles/linux

Linux容器镜像的编译脚本会在名为 username.txt password.txt 的文件中搜索Git凭证:

  • 创建 username.txt 文件并写入你的GitHub用户名。

  • 创建 password.txt 文件并写入你的GitHub个人访问令牌。

如需为某个指定的虚幻引擎版本构建Linux容器镜像,请在Bash shell中运行如下命令,并将 ENGINE_RELEASE 替换为对应的版本号(如"4.27.0"):

./build.sh ENGINE_RELEASE

该操作会分别构建Linux运行时镜像和Linux开发镜像,之后再生成一些特殊用例镜像,例如 像素流送 。开发镜像的构建用时最长,因为开发镜像会从GitHub下载虚幻引擎源代码并创建一个 已安装版本

为引擎自定义版本构建镜像

构建脚本仅支持通过Git检索虚幻引擎源代码。暂不支持其他版本控制系统,例如Perforce。你可以通过手动修改开发镜像的Dockerfiles来使用其他版本控制系统,但Epic Games暂不支持此方法。

Linux容器镜像的构建脚本支持指定一个自定义的Git仓库和分支,并通过其来检索虚幻引擎源代码,而不是使用官方GitHub仓库。自定义仓库可能包括官方虚幻引擎仓库的GitHub分支,或储存在由组织维护的内部专用本地Git服务器上的私有仓库。

如何在 username.txt password.txt 文件中填充Git凭证,取决于所使用的Git仓库类型:

  • GitHub分支:

    • 使用你的GitHub用户名和个人访问令牌。

  • 自定义Git服务器:

    • 用你的Git用户名填充 username.txt 文件。

    • 用你的Git密码填充 password.txt 文件。

如需为Git仓库的特定分支构建Linux容器镜像,请在Bash shell中运行如下所示命令,将 BRANCH 替换为分支名称,再将 REPOSITORY 替换为Git仓库的HTTPS URL(如: "https://github.com/EpicGames/UnrealEngine.git" ):

./build.sh BRANCH REPOSITORY

修改高级构建参数

构建脚本 build.sh 包括以下高级构建参数,你可以通过手动编辑文件来修改这些参数:

  • BASEIMAGE : 这是一个字符串,用于在构建开发镜像时指定将会使用的Linux基础镜像。该值默认是包含OpenGL开发标头的Ubuntu基础镜像 由NVIDIA提供

标签
欢迎帮助改进虚幻引擎文档!请告诉我们该如何更好地为您服务。
填写问卷调查
取消