게임 프로젝트 CI/CD 구축 : 3.젠킨스 빌드 자동화

이쩜오·2025년 1월 22일

프로젝트 25L

목록 보기
5/7
post-thumbnail

작성자 : 권영민
목표 : 게임 개발에 필요한 시스템들을 자동화해보자!(패치, 빌드)


개요

이번 글에서는 퍼포스에서 최신 커밋한 파일, 리소스, 소스들을 업데이트하고, 언리얼 엔진 프로젝트를 빌드 자동화하는 파이프라인을 구축한 내용에 대해서 정리하겠습니다.


Perforce 설정

1. Perforce 플러그인 설치

Jenkins 관리 > Plugins에서 P4 Plugin을 검색한 후, 다운 받습니다.

2. Perforce Credentials 추가

Jenkins 관리 > Credentials > (Global)로 이동한 후, Add Credentials 버튼을 클릭하여 Perforce 자격 증명을 추가합니다.
Kind에서 "Perforce Password Credential" 항목을 선택하고, ID와 P4Port를 입력합니다. 그리고 젠킨스 머신에서 연결된 Perforce 계정의 Username과 Password를 입력합니다.

그리고 저장하면, Perforce 자격 증명이 추가됩니다!!


빌드 자동화 Project 구성

우선 자동화 과정에서 필요한 변수를 정리해봅시다~

젠킨스 매개 변수

  • BuildConfiguration: 빌드 환경 (Development, Stage, Production 등)
  • PackagingOptions : 언리얼 패키징 옵션 (-pak, -compressed 등)

batch 파일 변수

  • OutputPath : 아웃풋(빌드 파일) 경로
  • RunBatchFilePath : 언리얼 UAT 실행 파일 경로
  • ProjectPath : 빌드할 언리얼 프로젝트 파일 경로

1. Jenkins 매개 변수

젠킨스 매개 변수에 해당하는 변수들은 Project 구성에서 매개변수 추가를 통해 추가합니다 !

저는 매개변수 타입을 choice로 선택하여 젠킨스를 빌드할 때, 해당하는 값을 선택할 수 있도록 하였습니다.

2. 퍼포스 동기화(최신화)

Project의 소스 관리에서 perforce Software를 선택합니다.

Workspace Behavior 설정:
Manual (custom view) 선택
Workspace Name: BuildMachine (사용자 지정 이름)
View Mapping에 Perforce 경로를 작성합니다

Perforce의 파일을 최신 상태로 동기화하려면 Perforce 노드의 View Mapping 옵션을 설정해야 합니다.
View Mapping: //depot/... //BuildMachine/...
예를 들어, 위와 같이 설정하게 된다면,

이렇게 설정하면, Jenkins가 빌드 에이전트에서 Perforce 파일을 최신화할 수 있습니다.

퍼포스 동기화 설정 방법
Jenkins의 퍼포스 플러그인을 사용하여 퍼포스 저장소를 연결합니다.
Workspace Behavior에서 아래와 같이 설정합니다.
Manual (custom view) 선택
Workspace name: 빌드 머신 이름 (e.g., BuildMachine)
View Mapping에 동기화할 경로 작성

3. 언리얼 빌드 자동화 배치 파일 작성

아래는 제가 작성한 배치 파일 예제입니다.
OutputPath, RunBatchFilePath, ProjectPath를 배치 파일 변수로 설정하여, 배치파일을 읽기 편하게 정리하였습니다.

해당하는 경로는 각자 프로젝트에서의 로컬 경로를 넣어야 합니다 !! 배치파일 작성하시고 챗지피티와 같은 AI로 먼저 검증해보시길 추천합니다.

아래 배치파일은 언리얼 UAT를 실행하고, 여러 빌드 옵션을 넣어서 ProjectPath에 있는 게임 프로젝트를 빌드해주는 역할을 합니다.

@echo off

set OutputPath=~~
set RunBatchFilePath="~~"
set ProjectPath="~~"
set BuildConfig=%BuildConfiguration%

call %RunBatchFilePath% BuildCookRun ^
    -project=%ProjectPath% ^
    -platform=Win64 ^
    -build ^
    -cook ^
    -stage ^
    -pak ^
    -archive ^
    -clientconfig=%BuildConfig% ^
    -archivedirectory=%OutputPath%

4. 빌드 확인하기

Jenkins 빌드 후, Console Output에서 빌드 로그를 확인할 수 있습니다.
빌드가 성공하여, SUCCESS 메시지 출력과 지정한 OutputPath에서 결과물을 확인할 수 있었습니다 !



마무리

이번 과정에서는 Perforce와 Jenkins를 연동하여 언리얼 엔진 프로젝트의 빌드 자동화를 구현했습니다. 이를 통해 수동 작업을 줄이고, 빌드 과정을 효율적으로 관리할 수 있었습니다. 앞으로 이 파이프라인을 확장하고, 조금 더 수정해서 테스트 및 배포까지 자동화할 계획입니다 !

profile
이쩜오 기록

0개의 댓글