Development2011.06.28 17:26
그동안 빌드 자동화에 대해서 관심만 있었지 실제로 사용해 본 적은 없었습니다. 대부분 Peer to peer 로 배포하는 방식으로 커버가 가능했고 수작업이 어느정도 들어가더라도 Configuration 등을 세심하게 하나씩 살피면서 배포하는 것이 더 편하다고 느끼고 있었기 때문입니다. 

하지만 갑자기 배포해야 할 서버의 규모가 세자리 수 가까이 된다는 생각을 하기 시작하니 이건 사람이 해야 할 일이 아니라는 생각이 들더군요. 그래서 NAnt 라는 도구에 관심을 갖게 되었습니다. 처음 NAnt 를 사용해 보면서 겪는 시행착오를 포스팅으로 고스란히 남겨볼까 합니다.
 

NAnt 는 아파치의 오픈소스 프로젝트인 ANT 에서 유래된 닷넷 버전의 ANT 프로젝트입니다. 빌드에 대한 자동화를 도와주는 도구로 스크립트로 TASK 를 정의하고 이를 이용하여 빌드 자동화를 할 수 있는 도구입니다. 주요한 닷넷 프레임워크의 버전들 지원하고 있으며 도구 상에서 다중 버전에 대한 빌드 진행등이 가능해 수작업으로 빌드하는 경우에 비해 무척 편리하다고 합니다. (써봐야 알겠지요! ^^)

 
NAnt 를 설치하는 방법은 무척 간단합니다. 공식 페이지에서 Binary 혹은 Source 파일을 다운로드 받아 설치하면 됩니다. NAnt 의 소스코드까지 보면서 설치할 요량이 아니라면 Binary 버전을 받아서 설치하는 것이 편리합니다. Binary 버전은 아래와 같은 순서로 간단히 설치가 가능합니다.

[1] Ant 공식 페이지에서 nant-x.xx-bin.zip 파일을 받는다  
[2] 설치하고 싶은 (이라 적고 압축 푼다고 읽는다) 경로에 압축을 푼다 (예> c:\program files\nant)
[3] 어디서나 실행할 수 있도록 nant.bat 를 만들어 PATH 가 잡힌 경로에 둔다

예> c:\Windows\nant.bat 
@echo off
"C:\Program Files\NAnt\bin\NAnt.exe" %* 

[4] 커맨드 창을 열어 nant -help 라고 쳐서 동작하면 설치 완료 



뭔가 많은 일을 했다. ^^ 특히 NoPD 처럼 Windows 폴더에 nant.bat 를 넣으려고 했다면 특히 윈도우7 을 쓰는 환경에서 관리자 권한으로 애를 많이 먹었을 지도 모르겠다. 아예 환경변수에 NAnt 압축을 풀어넣은 경로를 PATH 에 잡아버리는 것도 방법이다. 다음 포스팅 에서는 간단한 예제를 통해 NAnt 를 이용한 빌드를 해보도록 하겠다.

- NoPD -

 
신고
Posted by 노피디
Development2011.03.09 18:40
애자일 프로그래밍을 하던 그렇지 않던 지속적인 통합 (CI, Continuous Integration) 은 개발자들의 노고를 덜어주기 위한 큰 화두임에 틀림없다. 관련하여 여러가지 자료를 찾아 보던중 월간 마이크로소프트웨어지에 필진으로 활동중이신 최재훈 님께서 2008년도에 1년동안 연재했던 자료가 있어서 링크를 모아 보았다. 

혹시나 CI 에 관하여 고민하고 있거나 공부를 하고 싶은 사람이라면 (저처럼 ^^) 한번 쭈욱 읽어보면서 감을 잡아보는 것도 나쁘지 않을 것 같다. 다만 내용은 닷넷과 VC++ 을 모두 커버한다고 전제를 깔긴 했지만 대부분의 내용은 VC++ 중심으로 돌아가고 있다. 그렇다 하더라도 큰 줄기는 틀리지 않으니 참고하기엔 가장 좋은 글이라 생각된다.


최재훈 님의 글은 리눅스 서버에 Subversion 을 설치하고 여기에 이슈관리 도구인 trac 을 설치해서 사용하는 환경으로 되어 있다. 시절이 좀 지나서 그런지 (쓰신건 2008년) 지금은 윈도우에서도 얼마든지 이 도구들을 설치해서 활용하는 것이 가능하다. 윈도우용 Subversion 도구인 Visual SVN Server 를 설치해서 레파지토리를 만들고 윈도우용 Visual SVN Server Trac 을 설치하는 방식으로도 가능하다. 

참고링크 : 즐거운 삐약토끼님의 " 윈도우에 Visual SVN Server + Trac 설치하기 [바로가기] "

결과적으로 지속적인 통합은  1) 소스버전관리, 2) 이슈관리, 3) 빌드자동화, 4) 테스트 자동화 등이 어우러져 아름다운 조화를 이룰때 실현 가능하다는 것을 알 수 있다. 처음이 어렵지 익숙해지면 없이는 살 수 없을 것 같은 생각이 든다.

- NoPD -
신고
Posted by 노피디

티스토리 툴바