피드로 돌아가기
Dev.toDevOps
원문 읽기
UnityのC#からGitを叩く
System.Diagnostics.Process를 활용한 Unity 내 Git CLI 제어 구조 설계
AI 요약
Context
Unity Editor 내에서 Git 설정을 직접 제어하기 위한 자동화 도구의 필요성 대두. OS별로 상이한 Git 실행 경로 인식 문제로 인한 실행 실패 가능성 존재.
Technical Solution
- System.Diagnostics.Process 클래스를 통한 외부 Git CLI 프로세스 호출 및 제어
- ProcessStartInfo 설정을 통한 WindowStyle Hidden 처리 및 StandardOutput 리다이렉션으로 백그라운드 데이터 캡처
- RuntimePlatform.OSXEditor 판별 로직을 통한 macOS 전용 실행 경로(/usr/local/bin/git, /usr/bin/git) 우선 탐색 구조 설계
- Windows 환경의 환경 변수(Path) 의존성을 활용한 간결한 실행 파일 지정 방식 채택
- ReadToEnd 및 WaitForExit를 조합한 동기적 표준 출력 획득 및 데이터 정제 과정 구현
실천 포인트
1. OS별 실행 파일 경로 우선순위 리스트를 정의하여 환경 변수 미등록 상황에 대비할 것
2. 외부 프로세스 호출 시 RedirectStandardOutput 활성화와 UseShellExecute 비활성화 설정을 반드시 확인할 것
3. 외부 커맨드 실행에 따른 Deadlock 방지를 위해 적절한 TimeoutPeriod 설정 및 프로세스 자원 해제(using 구문)를 적용할 것