게임 개발에 도움을 주는 CruiseControl.NET과 Windows Terminal<br />온라인 게임 서버 제작자 모임http://cafe.naver.com/ongameserver<br />TTFhttp://www.npteam.net<br />
빌드 자동화 아직도 두려우세요?<br />귀찮아.<br />지금까지도 잘 살았는데 뭐!<br />빌드 자동화 좋다던데<br />어떻게 쓰는 거지?<br />써 보고 싶은데<br />누가 설치해 줄 사람 없나?<br />?<br />
빌드 자동화 이렇게 편한걸왜 지금까지 몰랐지?<br />인터넷망에서개발망으로 데이터 가져오기 귀찮았는데 편해졌네.<br />덤프 파일만 가져와도 리비전의 소스 파일과 PDB 파일을 자동으로 받아오네!<br />검증된 기획 데이터를 써보니까 너무 편한데.<br />!<br />
CruiseControl.NET은 뭔가요?<br />■ CruiseControl.NET 정보<br /> - License<br /> BSD License, Apache Software License<br /> - Webpage<br />http://sourceforge.net/projects/ccnet/<br /> - 설치 가능 OS<br /> IIS 웹서버 작동이 가능한 Windows OS Windows XP 이후<br /> Windows Server 2003 이후<br />
CruiseControl.NET로 무엇을할 수 있나요? – Step 1<br />■ 주요 4가지 작업<br /> - Trigger<br />주기적으로 Project를 시작한다.<br /> - Source Control<br />소스 관리 프로그램에서소스를 가져온다.<br /> - Task<br />작업을 처리한다.<br /> - Publisher<br />결과를 처리한다.<br />
CruiseControl.NET로 무엇을할 수 있나요? – Step 2<br />■ 게임 개발시 활용법<br />
CruiseControl.NET은 어떻게설치 하나요?<br />■ 설치 방법은 대략 난감합니다.<br /> - 난감한 이유<br /> 1. 설치가 어렵지 않습니다. (복잡합니다.)<br /> 2. PT로 소개하기엔 지루합니다.<br /> 3. 상세하게 설명되어 있는 블로그가 많습니다.<br /> ex) http://www.npteam.net/839<br />
ccnet.config구성<br />■ 기본 Config구성<br />프로젝트 이름<br />라벨 형식<br />트리거(Trigger Block)<br />작업(Task Block)<br />대쉬보드URL<br />시작 모드<br />
ccnet.config구성<br />■ Hello World! 배치 파일<br /><ul><li>Exit /B 종료코드( 0 : 성공, 1 : 실패)
배치 파일 결과를 활용하는 것이 핵심!</li></li></ul><li>대쉬보드에서 결과 보기<br />■ 빌드 로그<br />2. 빌드 로그 보기<br />3. 빌드 결과<br />1. 최근 빌드 결과<br />
기초는 여기까지이제 응용해 봅시다.<br />■ 엑셀 데이터 검사하기<br />■ Lua Script 컴파일 검사하기<br />■ Python으로 Lua Script 검사하기<br />■ 각 단계를 CruiseControl.NET에 추가<br />
엑셀 데이터 검사하기<br />■ 아이템 데이터 검사<br />
엑셀 데이터 검사하기<br />■ Python을 활용한 검사<br /> - Python 다운로드 2.7 버전<br />http://www.python.org/download/<br />- Python for Windows extensions<br />http://sourceforge.net/projects/pywin32/files/pywin32<br /> - Python을 설치합니다.<br />
엑셀 데이터 검사하기<br />■ Python Script를 작성합니다.<br />
잠깐!<br />엑셀 2007, 2010 사용자는<br />어떻게 해야 하나요?<br />
엑셀 데이터 검사하기<br />■ AccessDatabaseEngine설치<br /> - 오피스 2007 데이터 연결 구성 요소<br />http://www.microsoft.com/downloads/ko-kr/details.aspx?displaylang=ko&FamilyID=7554f536-8c28-4598-9b72-ef94e038c891<br /> - DSN 연결 주소를 다음과 같이 수정한다.<br />PROVIDER=Microsoft.Jet.OLEDB.4.0;<br /> PROVIDER=Microsoft.ACE.OLEDB.12.0;<br /> Extended Properties=Excel 8.0;<br />Extended Properties=Excel 12.0;<br />
엑셀 데이터 검사하기<br />■ 실행 결과는 이렇습니다.<br />
엑셀 데이터 검사하기<br />■ 검사 코드 추가<br />사는 값 < 파는 값<br />
Lua Script 컴파일 검사하기<br />■ Lua Compiler를 활용한 검사<br />컴파일 에러<br />
Lua Script 컴파일 검사하기<br />■ Lua Compiler를 활용한 검사<br /> - Lua컴파일러 다운로드<br />http://luabinaries.sourceforge.net/download.html<br />- Lua for Windows<br />http://code.google.com/p/luaforwindows/downloads/list<br />- Lua for Windows를 설치합니다.<br />
Lua Script 컴파일 검사하기<br />■ Lua Compiler를 활용한 검사<br />루아 컴파일러와 스크립트 폴더를 지정한다.<br />-p 옵션으로 컴파일 검사를 진행한다.<br />
Python으로 Lua Script 검사하기<br />■ _Isxxx함수 리턴 값 검사<br />리턴 값 검사(true, false)<br />
Python으로 Lua Script 검사하기<br />■ Python Script 만들기<br />자세한 내용은<br />첨부파일을 참조하세요.<br />
Python으로 Lua Script 검사하기<br />■ Python을 Batch 파일로 실행하기<br />Python 실행파일 경로를 지정한다.<br />Python 스크립트 경로를 지정한다.<br />Lua Script 경로를 지정한다.<br />
각 단계를 CruiseControl.NET에 추가<br />■ ccnet.config에 DataChecker.cmd등록<br />자세한 내용은<br />첨부파일을 참조하세요.<br />
각 단계를 CruiseControl.NET에 추가<br />■ cctray에 등록된 화면<br />
각 단계를 CruiseControl.NET에 추가<br />■ DashBoard에서 에러 확인하기<br />
기초는 여기까지이제 응용해 봅시다.<br />■ NSIS Installer에 추가하기<br />■ 그외의 추가사항들…<br />
NSIS Installer에 추가하기<br />■ Nullsoft Scriptable Install System<br /> - NSIS 다운로드<br />http://nsis.sourceforge.net<br /> - NSIS를 설치합니다.<br />
NSIS Installer에 추가하기<br />■ zip 파일을 Installer로 만들기<br />
NSIS Installer에 추가하기<br />■ zip 파일을 Installer로 만들기<br />Zip으로 압축된 파일은<br />Installer도 만들기 쉽습니다.<br />
NSIS Installer에 추가하기<br />■ Script를 사용하여 Installer로 만들기<br />DEFINE 정의하기PRODUCT_NAME 제품이름<br />PRODUCT_VERSION 날짜시간<br />PRODUCT_PUBLISHER 배포자<br />PRODUCT_WEB_SITE 웹 사이트<br />
NSIS Installer에 추가하기<br />■ Script를 사용하여 Installer로 만들기<br />설치할 폴더 : C:Data<br />$INSTDIR Define으로 사용될 폴더<br />출력위치 : 설치할 폴더<br />포함파일 :<br />C:Data 폴더 하위의 모든 데이터 포함<br />출력위치 : 설치할 폴더<br />포함파일 : 재배포 패키지<br />실행 : 재배포 패키지 자동 실행<br />
NSIS Installer에 추가하기<br />■ Script를 사용하여 Installer로 만들기<br />컴파일 된 Installer 패키지<br />
NSIS Installer에 추가하기<br />■ Script를 사용하여 Installer로 만들기<br />
그외에 추가사항은 블로그에…<br />■ 다른 Project의실행 결과에 따라<br /> Project 실행하기<br />■ 하나의 Project를 여러 개로 나누기<br />■ Project 그룹별 Lock 설정하기<br />■ Robocopy를 이용하여 파일 복사<br />시간 줄이기<br />
Window Terminal을 활용한 패치<br />■ 윈도우 터미널을 이용하여 패치하기<br />■ TTerminal을 이용하여 패치하기<br />■ mRemote를 이용하여 패치하기<br />장점 : 터미널간 파일 복사가 쉽다.<br />
Window Terminal을 이용한 패치<br />■ 윈도우 터미널을 이용하여 패치하기<br />드라이브 연결을 체크하면,<br />터미널간 파일을 복사할 수 있습니다.<br />
Window Terminal을 이용한 패치<br />■ TTerminal을 이용하여 패치하기<br />http://dev.naver.com/projects/tterminal<br />
Window Terminal을 이용한 패치<br />■ mRemote를 이용하여 패치하기<br />http://www.mremote.org/wiki/Downloads.ashx<br />
리펙토링 4장 테스트만들기
Master slave pattern
Client dispatcher server_pattern