출처 : http://www.gpgstudy.com/forum/viewtopic.php?t=7692

 

makefile 을 사용할 경우 다양한 배치 작업과 외부 툴을 이용할 수 있습니다. 저는 makefile 까진 아니지만 간단한 배치 파일을 만들어서 빌드 작업을 일괄적으로 처리하게 하곤 했었는데 다음 과 같이 짰었습니다. 자동화된 빌드는 어떠한 툴이나 기법을 이요하는게 아니라 어떠한 방법을 쓰던 '클릭 한번으로 배포본까지 작성이 가능하도록 한다'를 일컫는 것입니다. 배치를 사용하건 파이썬을 사용하건 적절한 툴을 사용하고 빌드가 실패했을때 보고까지 착실해 해주는 그런 것을 말하는거죠.

코드:
@echo off

: VC.NET 을 Command-Line 에서 실행하도록 Path나 기타 환경 변수 등록
call "C:\Program Files\Microsoft Visual Studio .NET 2003\Vc7\bin\vcvars32.bat"

: 해당 vcproj를 Clean 후 Build 를 한다.
devenv /clean release "c:\Project\tool\xxxtool\xxxtool.vcproj"
devenv /build release "c:\Project\tool\xxxtool\xxxtool.vcproj"

: Build 결과에 exe 파일을 검출
if not exist "C:\Project\tool\xxxtool\Release\xxxtool.exe" (

	   : EXE가 없으면 Build 가 실패했으므로 Log 를 자동으로 열어주자.
	   "C:\Program Files\Internet Explorer\iexplore.exe" "c:\Project\tool\xxxtool\Release\BuildLog.htm"

) else (

	   : Build 가 성공했으니 폴더에 복사 시작
	   if exist "C:\Project\xxxtool\%DATE%" (
	   	   echo Deleting : C:\Project\xxxtool\%DATE%
	   	   del "C:\Project\xxxtool\%DATE%\*.*" /q
	   ) else (
	   	   echo Making : C:\Project\xxxtool\%DATE%
	   	   mkdir "C:\Project\xxxtool\%DATE%"
	   )

	   : 작업 폴더로 이동
	   cd "C:\Project\xxxtool\%DATE%"

	   : 필요한 파일들을 복사
	   copy "C:\Project\xxxtool\DLL\*.dll" .
	   copy "C:\Project\xxxtool\DLL\*.pdb" .
	   copy "C:\Project\tool\xxxtool\*.fx" .
	   copy "C:\Project\tool\xxxtool\*.bmp" .
	   copy "C:\Project\tool\xxxtool\Release\xxxtool.exe" .
	   copy "C:\Project\tool\xxxtool\Release\xxxtool.pdb" .

	   : rar 로 압축
	   if exist "C:\Project\xxxtool\xxxtool_%DATE%.rar" del "C:\Project\xxxtool\xxxtool_%DATE%.rar" /q
	   "C:\Program Files\WinRAR\rar" a "C:\Project\xxxtool\xxxtool_%DATE%.rar" *.*

	   : 작업 끝난 폴더를 열어준다. 나중에 여기 자동 메일링을 넣어준다. (CDO 객체를 사용한 VBScript..? PHP Script..?)
	   explorer "C:\Project\xxxtool"
)

안정적인 DNS서비스 DNSEver DNS server, DNS service
Posted by 키르히

댓글을 달아 주세요