게임 개발 · 기술 동향미로의 개발노트
카테고리

Entity Forge

성공한 Unity 빌드가 왜 상태 미확인이었을까

모아보기 · 개발 기록 · 블로그 공개

완료된 BuildReport를 읽는 시점을 바로잡았습니다.

실제 빌드 기록
실제 빌드 기록

파일은 만들어졌는데 기록이 비었습니다

Unity 빌드가 성공해도 이력에 unknown이 찍히면, 실제로 성공한 실행을 목록에서 가려내기 어렵습니다. 빌드 결과와 기록을 만드는 시점을 대조했습니다.

실제 빌드 기록

실제 빌드 기록

최종 보고서가 나온 뒤 기록

빌드가 끝나고 확정된 BuildReport를 읽도록 바꿨습니다. 중간 상태를 성공 여부로 해석하지 않게 한 것입니다.

실제 Windows 빌드로 대조

다시 빌드한 뒤 이력에서 succeeded가 기록되는 것을 확인했습니다. 화면 문구만 바꾼 것이 아니라 읽는 데이터의 시점을 바로잡았습니다.

파일 생성과 이력 확정의 경계

빌드가 끝나기 전 상태는 아직 판단할 수 없는 값입니다. 그 값을 날짜별 이력에 기록하면 나중에 실제 결과가 성공으로 바뀌어도 이미 쓴 기록은 그대로 남을 수 있어요. 반대로 파일이 생긴 사실만으로 성공으로 표시하면 중간 실패가 만든 산출물을 정상 빌드로 오해합니다. 이번 수정에서 기록 시점을 마지막으로 미룬 이유는 실행기에서 확정한 결과를 목록에서도 같은 의미로 보여주기 위해서입니다.

회귀 확인에서는 새 빌드의 산출물, Unity가 반환한 최종 상태, 이력의 상태와 로그를 차례로 읽을 수 있어요. 특히 연달아 빌드할 때에는 첫 실행의 늦은 기록이 다음 실행과 섞이지 않는지도 중요합니다. 이력은 단순한 화면 문구가 아니라 어느 날 어떤 빌드를 다시 확인해야 하는지 알려주는 근거이기 때문입니다. 오류가 0개인 한 번의 실행을 검증한 범위도 같이 남겼습니다.

사용자가 이력을 볼 때는 최신 빌드가 성공했는지와 예전 빌드도 같은 규칙으로 표시되는지가 다른 질문입니다. 이미 저장된 이력은 당시 수집한 상태의 기록이므로 새 코드의 성공 여부를 과거 행에 대신 채울 수 없어요. 새로 실행한 항목에서 최종 상태와 실제 로그가 맞는지를 먼저 대조한 이유입니다.

빌드가 끝났다는 걸 어디에서 알 수 있을까요

파일은 만들어졌는데 이력에는 성공인지 알 수 없다고 뜨면, 나중에 그 결과를 다시 찾아보기가 어렵습니다. 화면에 성공이라고 적는 것보다 Unity가 최종 결과를 확정한 뒤 그 값을 가져오는 게 중요했어요. 수정 뒤 실제 Windows 빌드 결과와 이력에 남은 상태를 맞춰 봤습니다.

개발 기록 원문

같은 카테고리의 글

내 개발일지 전체 보기 ↗