XP 프로그래밍에서 중요시 하는 것 중의 하나가
자주 릴리즈하라는 것이다.
이를 위해서 현재 팀내에서 개발중인 제품의
릴리즈 자동화 배치 파일을 작성하였다.
매일 저녁 먹으러 가기 전에 잊지 말고 배치파일 돌려주기...
이 배치파일은 소스세이프 서버가 위치하고 있는 릴리즈 서버에서 실행될 수 있는 환경으로 만들어져 있다.
그리고 로그를 남기기 위한 간단 유틸리티1와 릴리즈시 빌드 버전을 자동으로 증가시키기 위한 간단 유틸리티2가 사용되고 있다.
간단 유틸리티1목적 : 시스템의 현재 날짜 및 시간값을 배치파일에서 사용할 수 있도록 환경변수화 시키기
다운로드 :
바로가기사용방법 :
1. 다음과 같은 내용의 __getdatetime.bat 파일을 작성하여 외부 배치파일에서 호출한다. 호출하는 방법은 조금 후에...
* __getdatetime.bat 파일의 내용@echo off
if "%1" == "" goto ERROR
set batfile=bakpath.bat
rem echo %temp%
call MakeBAKFolder.exe %temp% %batfile% %1 time
call %batfile%
if exist %batfile% del %batfile%
if exist %temp%%1 rmdir %temp%%1
GOTO END
:ERROR
echo 환경변수 이름을 붙이세요.
pause
exit
:END
위 배치파일에서 MakeBAKFolder.exe 를 사용중...
2. 위 배치파일을 호출하는 배치파일인 __SetEnvVars.bat 에서는 다음과 같이 __getdatetime.bat 파일을 호출...
call __getdatetime.bat datetime그리하면 datetime이라는 이름의 환경변수(시스템의 현재 날짜 및 시간값)가 생성됨.
이 간단 유틸리티를 만들게 된 배경은 다음과 같습니다.
배치파일에서 로그파일을 남기기 위해서 시스템의 현재 시간값을 환경변수화시켜서 로그파일의 이름으로 사용하려고 하는데, 배치파일에 관련된 링크를 아무리 뒤져도 답이 안나오더라구요.
그래서 초간단 유틸리티를 맹글었는데, 도무지 다른 사람은 이걸 제대로 사용하기가 쉽지 않겠죠. 만든 사람인 저만 잘 사용중에 있습니다. ㅋㅋ 나중에 뜯어고쳐야징...
설명한대로만 사용한다면 그래도 유용할 듯...
간단 유틸리티2.rc 파일에 기록되어 있는 파일버전, 제품버전을 증가시키기
다운로드 :
바로가기배치파일 안에서 사용하는 방법
call verresmgr2 "C:TeachingMate.rc" /0.0.0.1 /quiet의미 :
TeachingMate.rc 파일에 들어있는 제품버전, 파일버전 정보 중에서 네 번째 자리수를 1 증가(/0.0.0.1)시키되
확인 메시지 대화상자가 나타나지 않게(/quiet) 하라.
위 두 가지 간단 유틸리티를 활용하면서 소스세이프로부터 파일 소스를 내려받고 빌드하여 다시 체크인하는 과정을 거친다.
파일 소스 내려받기 from 소스세이프%SourceSafe% GET "$/TeachingMate" -R -W -I- >> %TMSrcRoot%AutoBuildResult
esult_get(%datetime%).txt
%SourceSafe% 는 ss.exe 의 전체 경로에 대한 환경변수,
%TMSrcRoot% 는 내려받을 디렉토리 경로에 대한 환경변수,
%datetime%은 앞에서 구한 로그기록용 시스템의 현재 날짜 및 시간에 대한 환경변수이다.
체크아웃하기%SourceSafe% CheckOut "%TM_VSS_Output%Release/TeachingMate.exe" -C -I- >> %TMSrcRoot%AutoBuildResult
esult_build(%datetime%).txt
빌드하기%MSDEV% "TeachingMate.dsw" /MAKE "TeachingMate - Win32 Release" /REBUILD >> "%TMSrcRoot%AutoBuildResult
esult_build(%datetime%).txt"
체크인하기%SourceSafe% CheckIn "%TM_VSS_Output%Release/TeachingMate.exe" -C -I- >> "%TMSrcRoot%AutoBuildResult
esult_build(%datetime%).txt"
관련파일 몽땅 다운받기