47
게임 개발에 도움을 주는 CruiseControl.NETWindows Terminal TTF http://www.npteam.net 온라인 게임 서버 제작자 모임 http://cafe.naver.com/ongameserver

Cruise control net_and_terminal_with_gamedev

Embed Size (px)

Citation preview

Page 1: Cruise control net_and_terminal_with_gamedev

게임 개발에 도움을 주는

CruiseControl.NET과

Windows Terminal

TTF http://www.npteam.net

온라인 게임 서버 제작자 모임http://cafe.naver.com/ongameserver

Page 2: Cruise control net_and_terminal_with_gamedev

빌드 자동화 아직도 두려우세요?

빌드 자동화 좋다던데

어떻게 쓰는 거

지?

귀찮아.

지금까지도 잘

살았는데 뭐!

써 보고 싶은데

누가 설치해

줄 사람 없나?

?

Page 3: Cruise control net_and_terminal_with_gamedev

빌드 자동화 이렇게 편한걸

왜 지금까지 몰랐지?

!

검증된 기획 데이

터를 써보니까 너무

편한데.

인터넷망에서 개

발망으로 데이터

가져오기 귀찮았

는데 편해졌네.덤프 파일만

가져와도 리비전의

소스 파일과 PDB

파일을 자동으로

받아오네!

Page 4: Cruise control net_and_terminal_with_gamedev

CruiseControl.NET은 뭔가요?

■ CruiseControl.NET 정보

- License

BSD License, Apache Software License

- Webpage

http://sourceforge.net/projects/ccnet/

- 설치 가능 OS

IIS 웹서버 작동이 가능한 Windows OS

Windows XP 이후

Windows Server 2003 이후

Page 5: Cruise control net_and_terminal_with_gamedev

CruiseControl.NET로 무엇을

할 수 있나요? – Step 1

■ 주요 4가지 작업

- Trigger

주기적으로 Project를 시작한다.

- Source Control

소스 관리 프로그램에서 소스를 가져온다.

- Task

작업을 처리한다.

- Publisher

결과를 처리한다.

Page 6: Cruise control net_and_terminal_with_gamedev

CruiseControl.NET로 무엇을

할 수 있나요? – Step 2

■ 게임 개발시 활용법

Page 7: Cruise control net_and_terminal_with_gamedev

CruiseControl.NET은 어떻게

설치 하나요?

■ 설치 방법은 대략 난감합니다.

- 난감한 이유

1. 설치가 어렵지 않습니다. (복잡합니다.)

2. PT로 소개하기엔 지루합니다.

3. 상세하게 설명되어 있는 블로그가 많습니다.

ex) http://www.npteam.net/839

Page 8: Cruise control net_and_terminal_with_gamedev

ccnet.config 구성

■ 기본 Config 구성

대쉬보드 URL

프로젝트 이름

라벨 형식

시작 모드

트리거(Trigger Block)

작업(Task Block)

Page 9: Cruise control net_and_terminal_with_gamedev

ccnet.config 구성

■ Hello World! 배치 파일

- Exit /B 종료코드( 0 : 성공, 1 : 실패 )

- 배치 파일 결과를 활용하는 것이 핵심!

Page 10: Cruise control net_and_terminal_with_gamedev

대쉬보드에서 결과 보기

■ 빌드 로그

1. 최근 빌드 결과

2. 빌드 로그 보기

3. 빌드 결과

Page 11: Cruise control net_and_terminal_with_gamedev

기초는 여기까지

이제 응용해 봅시다.

■ 엑셀 데이터 검사하기

■ Lua Script 컴파일 검사하기

■ Python으로 Lua Script 검사하기

■ 각 단계를 CruiseControl.NET에 추가

Page 12: Cruise control net_and_terminal_with_gamedev

엑셀 데이터 검사하기

■ 아이템 데이터 검사

Page 13: Cruise control net_and_terminal_with_gamedev

엑셀 데이터 검사하기

■ Python을 활용한 검사

- Python 다운로드 2.7 버전

http://www.python.org/download/

- Python for Windows extensions

http://sourceforge.net/projects/pywin32/files/pywin32

- Python을 설치합니다.

Page 14: Cruise control net_and_terminal_with_gamedev

엑셀 데이터 검사하기

■ Python Script를 작성합니다.

Page 15: Cruise control net_and_terminal_with_gamedev
Page 16: Cruise control net_and_terminal_with_gamedev

엑셀 데이터 검사하기

■ AccessDatabaseEngine 설치- 오피스 2007 데이터 연결 구성 요소

http://www.microsoft.com/downloads/ko-kr/details.aspx?displaylang=ko&FamilyID=7554f536-8c28-4598-9b72-ef94e038c891

- DSN 연결 주소를 다음과 같이 수정한다.

PROVIDER=Microsoft.Jet.OLEDB.4.0;

PROVIDER=Microsoft.ACE.OLEDB.12.0;

Extended Properties=Excel 8.0;

Extended Properties=Excel 12.0;

Page 17: Cruise control net_and_terminal_with_gamedev

엑셀 데이터 검사하기

■ 실행 결과는 이렇습니다.

Page 18: Cruise control net_and_terminal_with_gamedev

엑셀 데이터 검사하기

■ 검사 코드 추가

사는 값 < 파는 값

Page 19: Cruise control net_and_terminal_with_gamedev

기초는 여기까지

이제 응용해 봅시다.

■ 엑셀 데이터 검사하기

■ Lua Script 컴파일 검사하기

■ Python으로 Lua Script 검사하기

■ 각 단계를 CruiseControl.NET에 추가

Page 20: Cruise control net_and_terminal_with_gamedev

Lua Script 컴파일 검사하기

■ Lua Compiler를 활용한 검사

컴파일 에러

Page 21: Cruise control net_and_terminal_with_gamedev

Lua Script 컴파일 검사하기

■ Lua Compiler를 활용한 검사

- Lua 컴파일러 다운로드

http://luabinaries.sourceforge.net/download.html

- Lua for Windowshttp://code.google.com/p/luaforwindows/downloads/list

- Lua for Windows를 설치합니다.

Page 22: Cruise control net_and_terminal_with_gamedev

Lua Script 컴파일 검사하기

■ Lua Compiler를 활용한 검사

1.루아 컴파일러와 스크립트 폴더를 지정한다.

2. -p 옵션으로 컴파일 검사를 진행한다.

Page 23: Cruise control net_and_terminal_with_gamedev

Lua Script 컴파일 검사하기

■ Lua Compiler를 활용한 검사

컴파일 에러

Page 24: Cruise control net_and_terminal_with_gamedev

기초는 여기까지

이제 응용해 봅시다.

■ 엑셀 데이터 검사하기

■ Lua Script 컴파일 검사하기

■ Python으로 Lua Script 검사하기

■ 각 단계를 CruiseControl.NET에 추가

Page 25: Cruise control net_and_terminal_with_gamedev

Python으로 Lua Script 검사하기

■ _Isxxx 함수 리턴 값 검사

리턴 값 검사(true, false)

Page 26: Cruise control net_and_terminal_with_gamedev

Python으로 Lua Script 검사하기

■ Python Script 만들기

Page 27: Cruise control net_and_terminal_with_gamedev

Python으로 Lua Script 검사하기

■ Python을 Batch 파일로 실행하기

1.Python 실행파일 경로를 지정한다.

2.Python 스크립트 경로를 지정한다.

3.Lua Script 경로를 지정한다.

Page 28: Cruise control net_and_terminal_with_gamedev

Python으로 Lua Script 검사하기

■ _Isxxx 함수 리턴 값 검사

리턴 값 검사(true, false)

Page 29: Cruise control net_and_terminal_with_gamedev

기초는 여기까지

이제 응용해 봅시다.

■ 엑셀 데이터 검사하기

■ Lua Script 컴파일 검사하기

■ Python으로 Lua Script 검사하기

■ 각 단계를 CruiseControl.NET에 추가

Page 30: Cruise control net_and_terminal_with_gamedev

각 단계를 CruiseControl.NET에 추가

■ ccnet.config에 DataChecker.cmd 등록

Page 31: Cruise control net_and_terminal_with_gamedev

각 단계를 CruiseControl.NET에 추가

■ cctray에 등록된 화면

Page 32: Cruise control net_and_terminal_with_gamedev

각 단계를 CruiseControl.NET에 추가

■ DashBoard에서 에러 확인하기

Page 33: Cruise control net_and_terminal_with_gamedev

기초는 여기까지

이제 응용해 봅시다.

■ NSIS Installer에 추가하기

■ 그외의 추가사항들…

Page 34: Cruise control net_and_terminal_with_gamedev

NSIS Installer에 추가하기

■ Nullsoft Scriptable Install System

- NSIS 다운로드

http://nsis.sourceforge.net

- NSIS를 설치합니다.

Page 35: Cruise control net_and_terminal_with_gamedev

NSIS Installer에 추가하기

■ zip 파일을 Installer로 만들기

Page 36: Cruise control net_and_terminal_with_gamedev

NSIS Installer에 추가하기

■ zip 파일을 Installer로 만들기

Page 37: Cruise control net_and_terminal_with_gamedev

NSIS Installer에 추가하기

■ zip 파일을 Installer로 만들기

Page 38: Cruise control net_and_terminal_with_gamedev

NSIS Installer에 추가하기

■ Script를 사용하여 Installer로 만들기

DEFINE 정의하기

PRODUCT_NAME 제품이름

PRODUCT_VERSION 날짜 시간

PRODUCT_PUBLISHER 배포자

PRODUCT_WEB_SITE 웹 사이트

Page 39: Cruise control net_and_terminal_with_gamedev

NSIS Installer에 추가하기

■ Script를 사용하여 Installer로 만들기

출력위치 : 설치할 폴더

포함파일 :

C:\Data\ 폴더 하위의 모든 데이터 포함

출력위치 : 설치할 폴더

포함파일 : 재배포 패키지

실행 : 재배포 패키지 자동 실행

설치할 폴더 : C:\Data

$INSTDIR Define으로 사용될 폴더

Page 40: Cruise control net_and_terminal_with_gamedev

NSIS Installer에 추가하기

■ Script를 사용하여 Installer로 만들기

컴파일 된 Installer 패키지

Page 41: Cruise control net_and_terminal_with_gamedev

NSIS Installer에 추가하기

■ Script를 사용하여 Installer로 만들기

Page 42: Cruise control net_and_terminal_with_gamedev

그외에 추가사항은 블로그에…

■ 다른 Project의 실행 결과에 따라

Project 실행하기

■ Project 그룹별 Lock 설정하기

■ 하나의 Project를 여러 개로 나누기

■ Robocopy를 이용하여 파일 복사

시간 줄이기

Page 43: Cruise control net_and_terminal_with_gamedev

Window Terminal을 활용한 패치

■ 윈도우 터미널을 이용하여 패치하기

■ TTerminal을 이용하여 패치하기

■ mRemote를 이용하여 패치하기

장점 : 터미널간 파일 복사가 쉽다.

Page 44: Cruise control net_and_terminal_with_gamedev

Window Terminal을 이용한 패치

■ 윈도우 터미널을 이용하여 패치하기

드라이브 연결을 체크하면,

터미널간 파일을 복사할 수 있습니다.

Page 45: Cruise control net_and_terminal_with_gamedev

Window Terminal을 이용한 패치

■ TTerminal을 이용하여 패치하기http://dev.naver.com/projects/tterminal

Page 46: Cruise control net_and_terminal_with_gamedev

Window Terminal을 이용한 패치

■ mRemote를 이용하여 패치하기http://www.mremote.org/wiki/Downloads.ashx

Page 47: Cruise control net_and_terminal_with_gamedev