소스에서 Linux 컨테이너 이미지 빌드

언리얼 엔진에 포함된 Linux 컨테이너 이미지를 소스에서 빌드하는 방법을 살펴봅니다.

필요한 사전지식

이 페이지의 콘텐츠를 이해하고 활용하기 위해 다음 주제를 숙지해 주세요.

언리얼 엔진에 포함된 모든 컨테이너 이미지에는 GitHub Container Registry에서 다운로드 가능한 미리 빌드된 버전이 있습니다. 커스텀 버전의 언리얼 엔진을 위한 개발 이미지를 생성하고 싶거나 이미지 소스 코드를 수정하고 싶은 경우에 한해 소스에서 이미지를 빌드합니다.

요구 사항

언리얼 엔진에 포함된 Linux 컨테이너 이미지를 빌드하려면 컴퓨터가 하드웨어 및 소프트웨어 사양 페이지의 Linux 컨테이너 섹션에 명시된 하드웨어 및 소프트웨어 사양을 충족해야 합니다.

Windows의 소스에서 Linux 컨테이너 이미지를 빌드하는 것은 지원되지 않습니다. Windows 10과 Windows 11에서 Docker Desktop이나 WSL2를 사용하여 이미지를 빌드할 수는 있지만 이 프로세스는 올바르게 작동하기 위해 추가적인 구성과 문제 해결이 필요하며, 에픽게임즈는 이를 지원하지 않습니다. 대신 Linux 컨테이너 이미지를 가상 시스템에 설치하거나 호스트 머신에 직접 설치해야 합니다.

Docker 설치

[INCLUDE:setting-up-your-production-pipeline/Containers/HardwareAndSoftwareRequirements#InstallingDocker]

공식 엔진 출시 버전의 이미지 빌드

GitHub에서 언리얼 엔진 소스 코드를 다운로드한 경우 소스 트리의 루트에서 `Setup.sh`를 실행하여 소스에서 엔진을 빌드할 때처럼 엔진의 바이너리 종속성을 다운로드해야 합니다. 이 단계를 수행하지 않으면 컨테이너 이미지 빌드에 필요한 파일이 손실됩니다.

언리얼 엔진 소스 코드에서 다음의 하위 디렉터리로 이동합니다.

Engine/Extras/Containers/Dockerfiles/linux

Linux 컨테이너 이미지에 대한 빌드 스크립트는 파일에서 username.txt`와 password.txt`라는 Git 크리덴셜을 찾습니다.

  • username.txt 파일을 생성하고 GitHub 사용자 이름을 입력합니다.

  • password.txt 파일을 생성하고 GitHub 개인 액세스 토큰을 입력합니다.

해당 언리얼 엔진 출시 버전에 대한 리눅스 컨테이너 이미지를 빌드하려면 Bash 셸에 아래 명령을 실행합니다. `ENGINE_RELEASE`는 적합한 출시 버전 숫자(예: 4.27.0)로 대체합니다.

./build.sh ENGINE_RELEASE

이렇게 하면 Linux 런타임 이미지와 Linux 개발 이미지가 모두 빌드되며, 이어서 픽셀 스트리밍 같은 특별한 사용 사례에 대한 이미지가 빌드됩니다. 개발 이미지는 GitHub에서 언리얼 엔진 소스 코드를 다운로드하여 엔진의

[설치 빌드](ProductionPipelines/DeployingTheEngine/UsinganInstalledBuild/)
를 생성하기 때문에 빌드하는 데 가장 오래 걸립니다.

커스텀 버전 엔진의 이미지 빌드

이 빌드 스크립트는 Git에서 언리얼 엔진 소스 코드를 가져오는 작업만 지원합니다. Perforce 같은 다른 버전 관리 시스템은 지원되지 않습니다. 개발 이미지에 대한 Dockerfile을 수동으로 수정하여 다른 버전 관리 시스템을 사용할 수는 있지만 에픽게임즈는 이에 대한 지원을 제공하지 않습니다.

Linux 컨테이너 이미지에 대한 빌드 스크립트는 공식 GitHub 저장소 대신 커스텀 Git 저장소 및 브랜치를 지정하여 언리얼 엔진 소스 코드를 가져오는 작업을 지원합니다. 커스텀 저장소에는 공식 언리얼 엔진 저장소나 프라이빗 저장소의 GitHub 포크가 포함될 수도 있습니다. 프라이빗 저장소는 조직 내부에서의 사용을 위해 관리되는 온프레미스 Git 서버상에 저장됩니다.

username.txtpassword.txt 파일에 Git 크리덴셜을 입력하는 방식은 사용되는 Git 저장소 유형에 따라 다릅니다.

  • GitHub 포크:

    • GitHub 사용자 이름 및 개인 액세스 토큰을 사용합니다.

  • 커스텀 Git 서버:

    • `username.txt`파일에 Git 사용자 이름을 입력합니다.

    • `password.txt`파일에 Git 암호를 입력합니다.

Git 저장소의 특정 브랜치에 대한 Linux 컨테이너 이미지를 빌드하려면 아래 명령을 Bash 셸에서 실행합니다. 이때 BRANCH`는 브랜치 이름, REPOSITORY`는 Git 저장소의 HTTPS URL(예: 'https://github.com/EpicGames/UnrealEngine.git')로 대체합니다.

./build.sh BRANCH REPOSITORY

고급 빌드 파라미터 수정

빌드 스크립트 `build.sh`는 다음과 같은 고급 빌드 파라미터를 포함합니다. 이러한 파라미터는 파일을 수동으로 편집하여 수정할 수 있습니다.

  • BASEIMAGE: 개발 이미지를 빌드할 때 사용될 Linux 베이스 이미지를 지정하는 스트링입니다. 기본값은 NVIDIA에서 제공하고 OpenGL 개발 헤더를 포함하는 Ubuntu 베이스 이미지입니다.

  • BUILD_DDC: 개발 이미지의 설치 빌드를 생성할 때 언리얼 엔진 콘텐츠에 대한

    [파생 데이터 캐시](ProductionPipelines/DerivedDataCache/)
    의 빌드 여부를 지정하는 부울(true 또는 false)입니다. 기본값은 `true`입니다.

태그