기본 콘텐츠로 건너뛰기

3월, 2012의 게시물 표시

CruiseControl.NET 에서 Robocopy 사용시의 에러

최근 진행되는 프로젝트는 현재 CruiseControl.NET 을 이용하고 있다. 아직 Real Open 된 프로젝트가 아니어서, 현재는 테스트 서버에만 적용하고 있는 상황으로 CCNet.config 상의 시나리오는 아래와 같이 진행된다.(매우 간단하고 평번하다) 1. svn 에서 변경사항을 update 2. MSBuild 를 이용해서 솔루션 빌드 수행 3. IIS 정지 4. Robocopy 를 이용해서 변경된 파일을 deploy directory에 Copy 5. IIS 시작 매우 단순하고, 일반적인 CruiseControl.NET 의 시나리오인데... 항상 변경이 있으면 Robocopy 수행후에 에러가 발생한다. robocopy.exe {basedirectory} .\ {deploydirectory} /E /R:2 /XA:H /PURGE /XO /XD ".svn" /NDL /NC /NS /NP 60 0,1 뭐 대충 위와 같은 Configuration 이었는데, 위 내용은 ccnet 사이트에서도 나온 내용을 거의 그대로 사용한 것이라서.. 문제가 없을꺼라 생각했다. 에러때문에 항상 force integration 만 사용을 해 왔다.(사실 우린 스케쥴까지 쓸 필요는 없는 프로젝트다) force integration을 두번씩 하면 되니까 좀 불편하지만 사용을 했는데 오늘 갑자기 짜증이 확나서 이리저리 검색하고 결국 수정했다. 확인해보니 robocopy가 return 하는 exit code 중 0~16까지의 code 중 0~7은 오류는 아니다. ( Robocopy Exit Code ) 그래서 위의 설정을 간단히 아래와 같이 바꿨다는... robocopy.exe {basedirectory} .\ {deploydirectory} /E /R:2 /XA:H /PURGE /XO /XD ".svn" /NDL /NC /NS /NP 60