기술 자료

지원

Build Automation 오류 문제 해결

Solve common issues with Build Automation failures.
읽는 시간 1분최근 업데이트: 한 달 전

로그에 오류가 있는지 확인

Unity Build Automation(UBA) 오류 문제를 해결하는 첫 번째 단계는 오류 로그를 확인하는 것입니다. UBA 로그는 가시성을 높이기 위해 빨간색으로 오류 메시지를 강조 표시하고 노란색으로 경고를 표시합니다. 또한 UBA는 컴팩트 로그 탭에서 경고와 오류 메시지를 더 쉽게 찾을 수 있도록 수집하지만, 컴팩트 로그에 모든 오류가 기록되지 않으므로 전체 로그를 확인하는 것이 유용할 수 있습니다. 오류 로그가 여러 개 있고 이전 빌드가 완료된 경우 로그를 비교하여 성공적인 실행 시 표시될 수 있는 오류는 제외할 수 있습니다.

클린 빌드 실행

라이브러리나 작업 공간 폴더를 캐시하는 UBA 빌드는 문제를 일으킬 수 있습니다. 타겟이 캐시를 무시하도록 만들려면 빌드를 트리거할 때 클린 빌드 옵션을 사용합니다.

로컬에서 배치 모드로 실행

프로젝트가 에디터에서 빌드되었지만 Unity Build Automation을 통해 빌드를 완료하지 못한 경우 빌드를 생성하는 데 배치 모드를 사용하기 때문일 수 있습니다. 오류가 재현되는지 확인하려면 로컬에서 배치 모드로 실행합니다. 먼저
Library
폴더를 삭제하거나 소스 코드를 새 폴더로 체크아웃해야 합니다. 이렇게 하면 UBA에서 패키지를 다시 다운로드해야 합니다. 이를 통해 각 빌드에서 소스 코드를 체크아웃하는 UBA 빌드 서버의 동작을 시뮬레이션합니다.
다음은 Windows와 macOS 버전의 동일한 커맨드입니다. 제공되는 디렉토리는 Unity 에디터의 기본 설치 폴더이며, 로컬 머신의 적절한 경로에 따라 조정합니다.

Windows CMD 콘솔

"C:\Program Files\Unity\Hub\Editor\{UNITY_VERSION}\Editor\unity.exe" -batchMode -skipMissingProjectID -skipMissingUPID -buildTarget {BUILD_TARGET} -logFile C:\{SOME_PATH}\log.txt -projectPath C:\{PROJECT_PATH} -executeMethod {CLASS_AND_STATIC_METHOD_NAME_OF_BUILD_SCRIPT} -quit

macOS 터미널

/Applications/Unity/Hub/Editor/{UNITY_VERSION}/Unity.app/Contents/MacOS/Unity -batchMode -skipMissingProjectID -skipMissingUPID -buildTarget {BUILD_TARGET} -logFile /Users/{SOME_PATH}/log.txt -projectPath /Users/{PROJECT_PATH} -executeMethod {CLASS_AND_STATIC_METHOD_NAME_OF_BUILD_SCRIPT} -quit
또한 테스트를 실행하고 싶은 경우 다음 태그를 추가할 수 있습니다.
  • -runTests
  • -testPlatform {PLATFORM} // playmode or editmode
  • -testResults {FILE_PATH_AND_FILE_NAME}.xml

템플릿 빌드 스크립트

에디터 폴더 안에 빌드를 수행하는 정적 메서드가 포함된 빌드 스크립트를 배치합니다. 아직 에디터 폴더가 없으면 폴더를 생성합니다. 다음은 레퍼런스용 템플릿 빌드 스크립트입니다.
using UnityEditor;class MyEditorScript{ static void PerformBuild () { BuildPlayerOptions buildPlayerOptions = new BuildPlayerOptions(); buildPlayerOptions.scenes = new[] {"Assets/Scenes/MyScene.unity", ...}; buildPlayerOptions.target = BuildTarget.iOS; // More details on BuildTarget doc buildPlayerOptions.options = BuildOptions.None; buildPlayerOptions.locationPathName = "iOSBuild"; BuildPipeline.BuildPlayer(buildPlayerOptions); }}

흔히 나타나는 문제

일반: 플랫폼 관련 문제: