Seize the day

POST : SDP for win32/빌드,배포 자동화

빌드 자동화의 시작 autobuild.cmd


참고 소스: http://dev.naver.com/projects/sdp/src


trunk를 내려 받으면 맨 위에 autobuild.cmd 파일이 하나 있다. 빌드 자동화는 이 파일을 실행했을 때 deploy 폴더에 셋업 파일이 생성되도록 구성한다. 


지금은 아래처럼 간단히 구성되어 있다. 리비전3 기준


autobuild.cmd 

     |__>  build\build.cmd

                 |__> make_setup.cmd

                       |_ copy setupfile to deploy folder

                       |_ copy debugging pdb file to deploy folder



프로젝트 규모가 클 경우,  버전파일 관리, 각종 데이타 파일 관리, 코드사인 관리 등이 추가되어 스크립트는 훨씬 복잡해 질 수 있다. 


 모든 실행 단계마다 

if not "%ERRORLEVEL%" == "0" goto ERROR

를 추가하여  에러체크를 하도록 한다. 



autobuild.cmd의 코드는 아래와 같다.

cd build

call build.cmd rebuild

if not "%ERRORLEVEL%" == "0" goto ERROR

cd ..


goto OK

:ERROR

@echo "autobuild.cmd Error"

@exit /b 1



:OK

@echo "All Success"

@exit /b 0



  

셋업 파일이 생성됬을 경우 날짜별로 셋업파일과 pdb 파일을 백업하도록 한다. 

copy EasyRegistrySetup.exe ..\deploy /Y

copy EasyRegistrySetup.exe ..\deploy\EasyRegistrySetup_%date%.exe /Y


::backup pdb file

copy ..\src\Release\EasyRegistry.pdb ..\deploy\EasyRegistry_%date%.pdb /Y

현재는 제품의 버전을 얻어오는 것이 안되어 있어 날짜로 했지만 나중에 버전별로 셋업파일이 생성되록 고쳐보도록 하겠다. 

bat 파일에서 주석은 :: (콜론 2개)를 맨 처음에 사용하면 된다. 




autobuild.cmd를 실행하면 프로젝트가 전체 rebuild 되고, build.cmd를 실행할 경우 프로젝트의 상태가 최신이면 컴파일하지 않는 build만 하도록 구성했다.  프로젝트 rebuild에  30분 이상 걸리는 경우도 있었다. 이런 경우 빌드 테스트를 할 때마다 프로젝트를 rebuild 하는 것은 효율적이지 못하고,  공식적인 배포본이 아닌 팀 내 테스트 빌드가 필요한 경우 빠르게 빌드를 만들 수 있다.  

set option=build

if not "%1" == "" set option=%1


"%VS90COMNTOOLS%/../IDE/devenv" "..\src\EasyRegistry.sln" /%option% "Release"

if not "%ERRORLEVEL%" == "0" goto ERROR


top

posted at

2013. 5. 23. 14:00


CONTENTS

Seize the day
BLOG main image
김대정의 앱 개발 노트와 사는 이야기
RSS 2.0Tattertools
공지
아카이브
최근 글 최근 댓글
카테고리 태그 구름사이트 링크