컨테이너 퀵스타트는 언리얼 엔진의 공식 컨테이너 이미지에 엑세스하고 이를 사용하여 간단한 컨테이너를 실행할 수 있도록 지원하기 위해 설계되었습니다. 이 가이드에서는 다음과 같은 작업을 단계별로 안내합니다.
-
컴퓨터에 Docker를 설치합니다.
-
Docker를 사용하여 미리 빌드된 언리얼 엔진 컨테이너 이미지를 다운로드할 수 있도록 GitHub Container Registry에 로그인합니다.
-
미리 빌드된 언리얼 엔진 Linux 개발 컨테이너 이미지를 다운로드합니다.
-
개발 이미지를 사용하여 컨테이너를 시작합니다.
-
컨테이너 내에서 프로젝트를 빌드 및 패키징합니다.
1. 요구 사항
이 퀵스타트를 위해 언리얼 엔진 컨테이너 이미지를 실행하려면 컴퓨터가 하드웨어 및 소프트웨어 사양 페이지의 Linux 컨테이너 섹션에 명시된 하드웨어 및 소프트웨어 사양을 충족해야 합니다.
2. GitHub 액세스 확인
GitHub에서 언리얼 엔진 소스 코드 저장소에 액세스할 수 있는지 확인합니다. URL은 https://github.com/EpicGames/UnrealEngine입니다. 저장소에 액세스할 수 없는 경우 GitHub 계정과 에픽게임즈 계정을 연동해야 합니다.
3. Docker 설치
Docker는 언리얼 엔진에 포함된 컨테이너 이미지를 빌드하고 실행하는 데 권장되는 툴입니다. Docker 설치 단계는 사용 중인 운영 체제에 따라 다릅니다. 각 플랫폼에서 Docker를 설치하는 방법은 다음 링크에서 확인할 수 있습니다.
-
Windows: Docker Desktop for Windows 설치
-
macOS: Docker Desktop for Mac 설치
-
Linux: 특정 Linux 배포판에 Docker Engine을 설치하는 방법은 다음 링크를 참고하세요.
4. GitHub Container Registry 인증
Docker를 사용하여 GitHub Container Registry에서 컨테이너 이미지를 다운로드하려면 개인 액세스 토큰을 사용하여 인증해야 합니다. 'read:packages' 스코프가 있는 개인 액세스 토큰을 보유하고 있지 않은 경우 안내된 단계를 따라 생성해야 합니다.
필수 스코프가 있는 개인 액세스 토큰을 생성한 경우 'docker login' 명령을 사용하여 GitHub 지침의 안내를 따라 GitHub Container Registry에 인증합니다. 이 명령은 명령줄 인터페이스에서 실행해야 합니다. 명령줄 인터페이스에 액세스하는 방법은 사용하는 운영 체제에 따라 다릅니다.
-
Windows: '시작(Start)' 메뉴를 열고 검색 박스에 'cmd'를 입력합니다. 명령 프롬프트(Command Prompt) 애플리케이션이 첫 검색 결과로 표시됩니다. 클릭하거나 Enter 키를 입력하여 명령 프롬프트를 엽니다.
-
macOS: Command+Space 키를 눌러 '스포트라이트(Spotlight)' 검색을 열고 검색 박스에 'terminal'을 입력합니다. 터미널(Terminal) 애플리케이션이 첫 검색 결과로 표시됩니다. 클릭하거나 Enter 키를 입력하여 터미널을 엽니다.
-
Linux: 데스크톱 환경에서 검색 기능을 열고 검색 상자에 'terminal'을 입력합니다. 검색 기능은 보통 Super 키를 누르면 열립니다. 터미널(Terminal) 애플리케이션이 첫 검색 결과로 표시됩니다. 클릭하거나 Enter 키를 입력하여 터미널을 엽니다.
명령줄 프롬프트를 열고 아래 명령을 실행합니다. ACCESS_TOKEN
은 개인 액세스 토큰으로, USERNAME
은 GitHub 사용자 이름으로 대체합니다.
echo ACCESS_TOKEN | docker login ghcr.io -u USERNAME --password-stdin
인증 프로세스가 성공하면 로그인 성공(Login Succeeded)이라는 메시지가 표시됩니다.
5. 미리 빌드된 컨테이너 이미지 풀링
미리 빌드된 공식 언리얼 엔진 컨테이너 이미지는 ghcr.io/epicgames/unreal-engine 저장소에 이미지 태그로 저장되어 있습니다. 언리얼 엔진 4.27 Linux 개발 이미지를 다운로드하려면 아래와 같이 'docker pull' 명령을 사용합니다.
docker pull ghcr.io/epicgames/unreal-engine:dev-4.27
이렇게 하면 언리얼 에디터 및 빌드 툴 파일을 포함하는 컨테이너 이미지가 다운로드되며 용량이 매우 큽니다. 인터넷 연결 속도에 따라 다운로드 프로세스에 시간이 걸릴 수 있습니다. 다운로드가 완료되면 'Status: Downloaded newer image for ghcr.io/epicgames/unreal-engine:dev-4.27" 메시지가 표시됩니다.
6. 개발 컨테이너에서 프로젝트 빌드
테스트 목적으로 사용 가능한 언리얼 엔진 프로젝트가 없는 경우 새 프로젝트 생성 단계를 따라야 합니다. Linux와 호환되지 않는 코드 플러그인을 사용하지 않는 한 어떤 프로그램이든 사용하여 개발 컨테이너 이미지를 테스트할 수 있습니다.
명령줄 프롬프트를 열고 아래 명령을 실행하여 개발 이미지로 새 컨테이너를 시작합니다. PROJECT_PATH
를 프로젝트의 .uproject
파일이 있는 디렉터리 경로로 대체합니다.
docker run --rm -ti -v "PROJECT_PATH:/project" ghcr.io/epicgames/unreal-engine:dev-4.27
이렇게 하면 프로젝트 파일에 액세스 가능한 컨테이너가 시작됩니다. 이 컨테이너는 Linux에서 실행되기 때문에 Linux 디바이스용 프로젝트 빌드 및 패키징에 사용될 수 있습니다. 프로젝트를 패키징하려면 아래 명령을 실행합니다. PROJECT_NAME
은 프로젝트 이름으로 대체합니다.
/home/ue4/UnrealEngine/Engine/Build/BatchFiles/RunUAT.sh \
BuildCookRun \
-utf8output \
-platform=Linux \
-clientconfig=Shipping \
-serverconfig=Shipping \
-project=/project/PROJECT_NAME.uproject \
-noP4 -nodebuginfo -allmaps \
-cook -build -stage -prereqs -pak -archive \
-archivedirectory=/project/Packaged
블루프린트 전용 프로젝트가 아닌 경우 프로젝트에서 C++ 코드 모듈이 컴파일되며, 프로젝트의 에셋이 쿠킹 및 패키징됩니다. 패키징된 파일은 .uproject
파일이 있는 디렉터리 내 Packaged
라는 하위 디렉터리에 배치됩니다.
컨테이너를 멈추려면 아래 명령을 실행합니다.
exit
다음 단계
이제 미리 빌드된 컨테이너 이미지를 사용하여 작업할 때 알아야 하는 기본 사항에 익숙해졌으므로 다음 리소스를 활용하여 언리얼 엔진 컨테이너를 사용하는 방법을 계속 학습합니다.