2009년 12월 8일 화요일

[csharp] 커파일의 자동화.. 그리고 VSS 갱신.. 프로그래밍

출처 : http://blog.naver.com/drmstorm?Redirect=Log&logNo=50022845095

 

자아..

아까 하던것에 이어서..

컴파일을 자동화하기 위한것..

일단은 소스세이프를 사용하기 때문에.. 소스 세이프에서 최신 버전을 가져와야 한다..

그리고..

msbuild 를 통해서 만들어주면 끝..

별다른것은 없다..

다만 제대로 동작하게 하기 위한 옵션을 찾는게 약간 힘들었을뿐..

vss의 경우.. 프롬프트를 물어보지 않게 하고.. 대상경로를 설정하는 옵션을 찾는게 조금 복잡했던것 같고..

msbuild 야.. 그냥 하면 알아서 컴파일이 되니까.. 문제가 없다...

.......

라고 하지만!!!

msbuild 에 치명적인 문제가 발생...

음..

일반적인 프로젝트에서는 아무 문제가 없을것 같다..

그런데 내가 만든것은 배포를 할때 VS에서 지원하는 배포 프로젝트를 통해서 하고 있다..

바로 이놈이 문제.. 이 배포 프로젝트를 msbuild 에서 지원하지 않는 다고 메시지를 뿌려준다..

허허..

이래서야 절반의 성공뿐.. 이지머..

그래도머.. 어쩔수 없을 뿐..

일단은 저정도만 하더라도.. 어느정도의 자동화는 가능.

@echo off
set SSDIR='소스세이프경로'
set SSUSER='소스세이프사용자계정'
set SSPWD='소스세이프암호'

path %path%;"c:\\program files\\microsoft visual sourcesafe"
path %path%;"c:\\windows\\microsoft.net\\framework\\v2.0.50727"
set VSSD_CONTROL="$/Control"
set WORK_CONTROL="d:\control"
set VSSD_LIBRARY="$/Library"
set WORK_LIBRARY="d:\Library"
set VSSD_CLIENT="$/Client"
set WORK_CLIENT="d:\Client"
set TEMP_DIR="d:"
set BUILD_OPTION1="/t:Rebuild"
set BUILD_OPTION2="/p:Configuration=Release"
@echo STEP 1...
@echo 소스를 최신버전으로 갱신합니다...
@echo on
@echo Updating.. CONTROL
mkdir %WORK_CONTROL%
ss get %VSSD_CONTROL% -R -GL%WORK_CONTROL% -I-
@echo Updating.. LIBRARY
mkdir %WORK_LIBRARY%
ss get %VSSD_LIBRARY% -R -GL%WORK_LIBRARY% -I-
@echo Updating.. MODULE
mkdir %WORK_CLIENT%
ss get %VSSD_CLIENT% -R -GL%WORK_CLIENT% -I-
mkdir %WORK_CLIENT_BUILD%
ss get %VSSD_CLIENT%_BUILD -R -GL%WORK_CLIENT_BUILD% -I-
@echo -----------------------------------------------------------------
@echo - step2.. 컴파일...           -
@echo -----------------------------------------------------------------
mkdir %TEMP_DIR%
msbuild %WORK_LIBRARY%\\Library.sln %BUILD_OPTION1% %BUILD_OPTION2%
msbuild %WORK_LIBRARY%\\Library.sln %BUILD_OPTION1% %BUILD_OPTION2%
msbuild %WORK_CONTROL%\\Control.sln %BUILD_OPTION1% %BUILD_OPTION2%
msbuild %WORK_CONTROL%\\Control.sln %BUILD_OPTION1% %BUILD_OPTION2%
msbuild %WORK_CLIENT%\\ProjectA.sln %BUILD_OPTION1% %BUILD_OPTION2%
msbuild %WORK_CLIENT_BUILD%\\RainClient.sln %BUILD_OPTION1% %BUILD_OPTION2%

댓글 없음:

댓글 쓰기