Jenkins 패치 및 빌드 자동화 구축

KWONYEONGMIN·2025년 4월 26일

Project DreamScape

목록 보기
1/5

1. 개요


  • 게임 개발 과정에서 수동 빌드 및 패치 배포 작업은 시간 소모가 크고 실수 위험이 높다.
  • 버전 관리 시스템(Perforce)빌드 시스템(Jenkins) 을 활용하여 빌드/패치 과정을 자동화해 효율성을 높이고자 함.
  • 목표Perforce로 소스를 최신화하고, 언리얼 엔진 프로젝트를 Jenkins를 통해 자동 빌드 및 아카이빙 처리



2. 구축 과정


  • Jenkins Agent를 통한 빌드 머신 분산 처리

    • Jenkins Agent를 사용해 빌드 머신과 Jenkins Master를 분리
    • 대규모 프로젝트에서도 안정적인 빌드 가능
  • Jenkins와 Perforce 연동

    • P4 Plugin 설치
    • Perforce Credentials 등록
    • ViewMapping 설정을 통한 리소스 자동 동기화 처리
  • 패치/빌드 프로젝트 구성

    • Jenkins 매개변수화
    • Batch 스크립트 작성
  • 빌드 결과 확인

    • Console Output을 통해 빌드 로그 및 결과 모니터링
    • OutputPath에서 패치 파일 자동 확인 가능
  • 동작 과정



3. 패치 / 빌드 Project 구성


  • Jenkins 매개변수화
    • 빌드 환경(BuildConfiguration)과 패키징 옵션(PackagingOptions)을 선택할 수 있도록 구성
    • BuildConfiguration 값에 따라 Development/Shipping 등의 모드를 선택적으로 빌드
  • Batch 스크립트 작성
    • 매개변수를 이용해 동적 빌드 진행
    • 자동 빌드 및 아카이빙
  • 배치 파일 코드
    
    @echo off
    
    set OutputPath=C:\Project25L\Build
    set RunBatchFilePath="C:\Program Files\Epic Games\UE_5.4\Engine\Build\BatchFiles\RunUAT.bat"
    set ProjectPath="C:\Project25L\Jenkins\Agent\workspace\Project_25L\Build\Dev_Test\Project25L\Project25L.uproject"
    set BuildConfig=%BuildConfiguration%
    
    call %RunBatchFilePath% BuildCookRun ^
        -project=%ProjectPath% ^
        -platform=Win64 ^
        -build ^
        -cook ^
        -stage ^
        -pak ^
        -archive ^
        -clientconfig=%BuildConfig% ^
        -archivedirectory=%OutputPath%

빌드 결과



4. 결과


  • 기획, 아트 포함 개발자들도 Jenkins를 통해 한 번의 클릭으로 최신 빌드/패치 파일 수령 가능
  • OutputPath로 자동 아카이빙



프로젝트 블로그 정리 링크


게임 프로젝트 CI/CD 구축 1 : 젠킨스 설치 및 접속

게임 프로젝트 CI/CD 구축 2 : 젠킨스 구성

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

profile
Hello World

0개의 댓글