레가시 프로젝트의 빌드 자동화

Jaehoon Choi
Jaehoon ChoiSenior Software Engineer at DAILYHOTEL à DAILYHOTEL
레가시 프로젝트의 빌드 자동화 라이브개발  2 본부  5 실 컴뱃암즈 팀 최재훈
발표자 소개 ,[object Object],[object Object]
여러분이 얻어 갈 것 ,[object Object],[object Object],[object Object],[object Object]
사례 ,[object Object],[object Object],[object Object],[object Object],[object Object]
괜히 자랑질
어느 날 , ,[object Object],[object Object],빌드 자동화라고 들어봤나 ?  그거 하면 좋다던데 ?
날벼락이 ! 네가 해보지 ?
나더러 어쩌라고 ,[object Object],F7 은 빌드 자동화가 아니다 .
빌드  자동화란 ? ,[object Object],[object Object],[object Object],CI  = Continuous Integration =  지속적인 통합
CI  서버란 ? ,[object Object]
CI  서버를 도입했으니 끝 ? ,[object Object],[object Object]
게임 하나 뽑으려면 ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
설상가상 ,[object Object],[object Object]
그래서 제대로 만들면 ,
당신도 할 수 있… 을 걸 ?
이대로 해 봅시다 . ,[object Object]
기존 프로세스를 분석해보니  ,[object Object],[object Object],[object Object]
기존 프로세스를 분석해보니
기존 프로세스를 분석해보니 ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
기존 프로세스를 분석해보니 ,[object Object],[object Object],[object Object],[object Object],[object Object]
기존 프로세스를 분석해보니 ,[object Object],[object Object]
그래서 ,
빌드가  2 시간씩 걸려서야 ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
성능 개선 ,[object Object],[object Object],[object Object]
성능 개선의 요인 ,[object Object],[object Object],[object Object]
성능 개선의 요인 ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
괜한 고민 말자 ! 어지간하면 해준다 . 안 되면 ?  그럼 말구 . 보스가 승인해 줄까 ?
기존 빌드 과정의 재구성 ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
기존 빌드 과정의 재구성 ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
기존 빌드 과정의 재구성  ,[object Object],[object Object],[object Object]
기존 빌드 과정의 재구성  ,[object Object],[object Object],[object Object],[object Object]
소스코드 빌드 ,[object Object]
통합 솔루션 파일 ,[object Object],[object Object],[object Object],[object Object]
통합 솔루션 파일 ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
깨진 빌드부터 수선하자 ,[object Object]
VS 를 안다고 자신하는가 ? ,[object Object]
경로 지정은 이렇게 한다 ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
흔한 실수 ,[object Object],[object Object],[object Object]
나은 방법 ,[object Object],[object Object],[object Object]
빌드 이벤트 대신 출력 폴더 ,[object Object],Better Way
출력 디렉터리는 이렇게 ,[object Object],Better Way
출력 디렉터리를 정할 때 ,[object Object],[object Object],[object Object],[object Object]
출력 디렉터리의 예
또 다른 흔한 실수 ,[object Object],[object Object],[object Object],[object Object],[object Object]
빌드 이벤트는  .bat  일 뿐 ,[object Object],처음 ,  또는 중간 명령이 실패하면 ? 실패했는데  1 이 아닌 숫자를 반환했다면 ?
배치 스크립트를 추방하자 ,[object Object],[object Object]
MSBuild 를 쓰자 ,[object Object],[object Object]
MSBuild 를 쓰자 ,[object Object],[object Object],[object Object],[object Object]
MSBuild 를 쓰자 ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
님아 , EXIT_FAILURE  좀 ,[object Object],Better Way
리소스 빌드 ,[object Object]
바뀐 리소스만 빌드하자 ,[object Object]
배포 자동화 ,[object Object],[object Object]
주요 도구 ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
배포 환경을 분석해보니 ,[object Object],[object Object],[object Object],[object Object]
내부 테스트용 배포 ,[object Object]
배포는 내게 맡겨라 ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
출시 배포 ,[object Object],[object Object]
패키징의 어려움 ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
패키징의 어려움 ,[object Object]
UI  자동화 ,  별 짓을 다 한다 ,[object Object]
UI  자동화 ,  별 짓을 다 한다 ,[object Object],[object Object]
퍼블리셔에게 파일 주기 ,[object Object]
지속적인 개선
소회 ,[object Object],[object Object],[object Object],[object Object]
 
1 sur 66

Recommandé

NDC 2015 삼시세끼 빌드만들기 par
NDC 2015 삼시세끼 빌드만들기NDC 2015 삼시세끼 빌드만들기
NDC 2015 삼시세끼 빌드만들기Hyunsuk Ahn
4.6K vues68 diapositives
NDC15 - 사례로 살펴보는 MSVC 빌드 최적화 팁 par
NDC15 - 사례로 살펴보는 MSVC 빌드 최적화 팁NDC15 - 사례로 살펴보는 MSVC 빌드 최적화 팁
NDC15 - 사례로 살펴보는 MSVC 빌드 최적화 팁Yi-kwon Hwang
2.8K vues52 diapositives
송창규, unity build로 빌드타임 반토막내기, NDC2010 par
송창규, unity build로 빌드타임 반토막내기, NDC2010송창규, unity build로 빌드타임 반토막내기, NDC2010
송창규, unity build로 빌드타임 반토막내기, NDC2010devCAT Studio, NEXON
32.2K vues72 diapositives
자동화된 소스 분석, 처리, 검증을 통한 소스의 불필요한 #if - #endif 제거하기 NDC2012 par
자동화된 소스 분석, 처리, 검증을 통한 소스의 불필요한 #if - #endif 제거하기 NDC2012자동화된 소스 분석, 처리, 검증을 통한 소스의 불필요한 #if - #endif 제거하기 NDC2012
자동화된 소스 분석, 처리, 검증을 통한 소스의 불필요한 #if - #endif 제거하기 NDC2012Esun Kim
20.9K vues98 diapositives
MSBuild + Git + Jenkins par
MSBuild + Git + JenkinsMSBuild + Git + Jenkins
MSBuild + Git + Jenkins선협 이
15.3K vues34 diapositives
Jenkins CI presentation par
Jenkins CI presentationJenkins CI presentation
Jenkins CI presentationJonathan Holloway
13.8K vues20 diapositives

Contenu connexe

Tendances

[NDC 19] 시스템 기획서 잘 쓰는 법 par
[NDC 19] 시스템 기획서 잘 쓰는 법[NDC 19] 시스템 기획서 잘 쓰는 법
[NDC 19] 시스템 기획서 잘 쓰는 법Na Eun Lee
10.4K vues89 diapositives
[NDC13] 70명이 커밋하는 라이브 개발하기 (해외 진출 라이브 프로젝트의 개발 관리) - 송창규 par
[NDC13] 70명이 커밋하는 라이브 개발하기 (해외 진출 라이브 프로젝트의 개발 관리) - 송창규[NDC13] 70명이 커밋하는 라이브 개발하기 (해외 진출 라이브 프로젝트의 개발 관리) - 송창규
[NDC13] 70명이 커밋하는 라이브 개발하기 (해외 진출 라이브 프로젝트의 개발 관리) - 송창규ChangKyu Song
9.5K vues105 diapositives
취미로 엔진 만들기 par
취미로 엔진 만들기취미로 엔진 만들기
취미로 엔진 만들기Jiho Choi
16.1K vues30 diapositives
Continuous Integration, Build Pipelines and Continuous Deployment par
Continuous Integration, Build Pipelines and Continuous DeploymentContinuous Integration, Build Pipelines and Continuous Deployment
Continuous Integration, Build Pipelines and Continuous DeploymentChristopher Read
26.8K vues25 diapositives
Python과 Git으로 만드는 모바일 게임 패치 시스템 par
Python과 Git으로 만드는 모바일 게임 패치 시스템Python과 Git으로 만드는 모바일 게임 패치 시스템
Python과 Git으로 만드는 모바일 게임 패치 시스템Youngtaek Oh
15.8K vues73 diapositives
김동건, 할머니가 들려주신 마비노기 개발 전설, NDC2019 par
김동건, 할머니가 들려주신 마비노기 개발 전설, NDC2019김동건, 할머니가 들려주신 마비노기 개발 전설, NDC2019
김동건, 할머니가 들려주신 마비노기 개발 전설, NDC2019devCAT Studio, NEXON
13.2K vues80 diapositives

Tendances(20)

[NDC 19] 시스템 기획서 잘 쓰는 법 par Na Eun Lee
[NDC 19] 시스템 기획서 잘 쓰는 법[NDC 19] 시스템 기획서 잘 쓰는 법
[NDC 19] 시스템 기획서 잘 쓰는 법
Na Eun Lee10.4K vues
[NDC13] 70명이 커밋하는 라이브 개발하기 (해외 진출 라이브 프로젝트의 개발 관리) - 송창규 par ChangKyu Song
[NDC13] 70명이 커밋하는 라이브 개발하기 (해외 진출 라이브 프로젝트의 개발 관리) - 송창규[NDC13] 70명이 커밋하는 라이브 개발하기 (해외 진출 라이브 프로젝트의 개발 관리) - 송창규
[NDC13] 70명이 커밋하는 라이브 개발하기 (해외 진출 라이브 프로젝트의 개발 관리) - 송창규
ChangKyu Song9.5K vues
취미로 엔진 만들기 par Jiho Choi
취미로 엔진 만들기취미로 엔진 만들기
취미로 엔진 만들기
Jiho Choi16.1K vues
Continuous Integration, Build Pipelines and Continuous Deployment par Christopher Read
Continuous Integration, Build Pipelines and Continuous DeploymentContinuous Integration, Build Pipelines and Continuous Deployment
Continuous Integration, Build Pipelines and Continuous Deployment
Christopher Read26.8K vues
Python과 Git으로 만드는 모바일 게임 패치 시스템 par Youngtaek Oh
Python과 Git으로 만드는 모바일 게임 패치 시스템Python과 Git으로 만드는 모바일 게임 패치 시스템
Python과 Git으로 만드는 모바일 게임 패치 시스템
Youngtaek Oh15.8K vues
김동건, 할머니가 들려주신 마비노기 개발 전설, NDC2019 par devCAT Studio, NEXON
김동건, 할머니가 들려주신 마비노기 개발 전설, NDC2019김동건, 할머니가 들려주신 마비노기 개발 전설, NDC2019
김동건, 할머니가 들려주신 마비노기 개발 전설, NDC2019
쩌는 게임 기획서, 이렇게 쓴다(How to write great design documents) from GDC 2008 (Korean) par Kay Kim
쩌는 게임 기획서, 이렇게 쓴다(How to write great design documents) from GDC 2008 (Korean)쩌는 게임 기획서, 이렇게 쓴다(How to write great design documents) from GDC 2008 (Korean)
쩌는 게임 기획서, 이렇게 쓴다(How to write great design documents) from GDC 2008 (Korean)
Kay Kim63.1K vues
게임 시스템 디자인 시작하기 par ByungChun2
게임 시스템 디자인 시작하기게임 시스템 디자인 시작하기
게임 시스템 디자인 시작하기
ByungChun223.5K vues
NDC2011 - 절차적 지형과 트렌드의 추적자들 par Jubok Kim
NDC2011 - 절차적 지형과 트렌드의 추적자들NDC2011 - 절차적 지형과 트렌드의 추적자들
NDC2011 - 절차적 지형과 트렌드의 추적자들
Jubok Kim6.2K vues
청강대 특강 - 프로젝트 제대로 해보기 par Chris Ohk
청강대 특강 - 프로젝트 제대로 해보기청강대 특강 - 프로젝트 제대로 해보기
청강대 특강 - 프로젝트 제대로 해보기
Chris Ohk3.2K vues
게임 개발 파이프라인과 시스템 기획(공개용) par ChangHyun Won
게임 개발 파이프라인과 시스템 기획(공개용)게임 개발 파이프라인과 시스템 기획(공개용)
게임 개발 파이프라인과 시스템 기획(공개용)
ChangHyun Won3.1K vues
Introduction to CI/CD par Hoang Le
Introduction to CI/CDIntroduction to CI/CD
Introduction to CI/CD
Hoang Le1K vues
빌드 속도를 올려보자 par KyeongWon Koo
빌드 속도를 올려보자빌드 속도를 올려보자
빌드 속도를 올려보자
KyeongWon Koo17.9K vues
[140315 박민근] 젠킨스를 이용한 자동빌드 시스템 구축하기(ci) par MinGeun Park
[140315 박민근] 젠킨스를 이용한 자동빌드 시스템 구축하기(ci)[140315 박민근] 젠킨스를 이용한 자동빌드 시스템 구축하기(ci)
[140315 박민근] 젠킨스를 이용한 자동빌드 시스템 구축하기(ci)
MinGeun Park45.7K vues
홍성우, 게임 프로그래머는 어떻게 가르치나요?, NDC2018 par devCAT Studio, NEXON
홍성우, 게임 프로그래머는 어떻게 가르치나요?, NDC2018홍성우, 게임 프로그래머는 어떻게 가르치나요?, NDC2018
홍성우, 게임 프로그래머는 어떻게 가르치나요?, NDC2018
이무림, 워크샵 게임 만들기: 부족전쟁, NDC2017 par devCAT Studio, NEXON
이무림, 워크샵 게임 만들기: 부족전쟁, NDC2017이무림, 워크샵 게임 만들기: 부족전쟁, NDC2017
이무림, 워크샵 게임 만들기: 부족전쟁, NDC2017
[IGC 2017] 넥슨코리아 오현근 - 평생 게임 기획자 하기 par 강 민우
[IGC 2017] 넥슨코리아 오현근 - 평생 게임 기획자 하기[IGC 2017] 넥슨코리아 오현근 - 평생 게임 기획자 하기
[IGC 2017] 넥슨코리아 오현근 - 평생 게임 기획자 하기
강 민우2.9K vues
[NDC 18] 메이플스토리2 악기연주 개발 사례로 보는 시스템 기획 par Na Eun Lee
[NDC 18] 메이플스토리2 악기연주 개발 사례로 보는 시스템 기획[NDC 18] 메이플스토리2 악기연주 개발 사례로 보는 시스템 기획
[NDC 18] 메이플스토리2 악기연주 개발 사례로 보는 시스템 기획
Na Eun Lee249 vues
프로그래머가 되고 싶으세요 par Chris Ohk
프로그래머가 되고 싶으세요프로그래머가 되고 싶으세요
프로그래머가 되고 싶으세요
Chris Ohk6K vues

En vedette

[NTsphere] 온라인 컨텐츠 개발을 위한 Server Framework par
[NTsphere] 온라인 컨텐츠 개발을 위한 Server Framework [NTsphere] 온라인 컨텐츠 개발을 위한 Server Framework
[NTsphere] 온라인 컨텐츠 개발을 위한 Server Framework GAMENEXT Works
995 vues22 diapositives
장기현, 로컬라이제이션 프로그래머의 준비, NDC2010 par
장기현, 로컬라이제이션 프로그래머의 준비, NDC2010장기현, 로컬라이제이션 프로그래머의 준비, NDC2010
장기현, 로컬라이제이션 프로그래머의 준비, NDC2010devCAT Studio, NEXON
2.2K vues34 diapositives
Ipl자동화방안제안 애플트리랩 par
Ipl자동화방안제안 애플트리랩Ipl자동화방안제안 애플트리랩
Ipl자동화방안제안 애플트리랩JaeWoo Wie
4.1K vues11 diapositives
Deview2013 a11y automation par
Deview2013 a11y automationDeview2013 a11y automation
Deview2013 a11y automationNAVER D2
2.5K vues39 diapositives
Continuous Integration par
Continuous IntegrationContinuous Integration
Continuous IntegrationDonghyun Seo
1.3K vues36 diapositives
아무도 모르는 웹접근성 Tip 10선 - 하성필 par
아무도 모르는 웹접근성 Tip 10선 - 하성필아무도 모르는 웹접근성 Tip 10선 - 하성필
아무도 모르는 웹접근성 Tip 10선 - 하성필ebraceteam
2.4K vues23 diapositives

En vedette(17)

[NTsphere] 온라인 컨텐츠 개발을 위한 Server Framework par GAMENEXT Works
[NTsphere] 온라인 컨텐츠 개발을 위한 Server Framework [NTsphere] 온라인 컨텐츠 개발을 위한 Server Framework
[NTsphere] 온라인 컨텐츠 개발을 위한 Server Framework
GAMENEXT Works995 vues
장기현, 로컬라이제이션 프로그래머의 준비, NDC2010 par devCAT Studio, NEXON
장기현, 로컬라이제이션 프로그래머의 준비, NDC2010장기현, 로컬라이제이션 프로그래머의 준비, NDC2010
장기현, 로컬라이제이션 프로그래머의 준비, NDC2010
Ipl자동화방안제안 애플트리랩 par JaeWoo Wie
Ipl자동화방안제안 애플트리랩Ipl자동화방안제안 애플트리랩
Ipl자동화방안제안 애플트리랩
JaeWoo Wie4.1K vues
Deview2013 a11y automation par NAVER D2
Deview2013 a11y automationDeview2013 a11y automation
Deview2013 a11y automation
NAVER D22.5K vues
Continuous Integration par Donghyun Seo
Continuous IntegrationContinuous Integration
Continuous Integration
Donghyun Seo1.3K vues
아무도 모르는 웹접근성 Tip 10선 - 하성필 par ebraceteam
아무도 모르는 웹접근성 Tip 10선 - 하성필아무도 모르는 웹접근성 Tip 10선 - 하성필
아무도 모르는 웹접근성 Tip 10선 - 하성필
ebraceteam2.4K vues
[XECon2016] A-4 조정현 GitHub + Jenkins + Docker로 자동배포 시스템 구축하기 par XpressEngine
[XECon2016] A-4 조정현 GitHub + Jenkins + Docker로 자동배포 시스템 구축하기[XECon2016] A-4 조정현 GitHub + Jenkins + Docker로 자동배포 시스템 구축하기
[XECon2016] A-4 조정현 GitHub + Jenkins + Docker로 자동배포 시스템 구축하기
XpressEngine3.6K vues
모바일 자동화 솔루션 Touch Test 소개 par 진일 최
모바일 자동화 솔루션 Touch Test 소개모바일 자동화 솔루션 Touch Test 소개
모바일 자동화 솔루션 Touch Test 소개
진일 최2.5K vues
[H3 2012] 앱(APP) 중심으로 생각하기 - DevOps와 자동화 par KTH, 케이티하이텔
[H3 2012] 앱(APP) 중심으로 생각하기 - DevOps와 자동화[H3 2012] 앱(APP) 중심으로 생각하기 - DevOps와 자동화
[H3 2012] 앱(APP) 중심으로 생각하기 - DevOps와 자동화
소셜미디어와 웹로그 분석을 통한 브랜드 가치 분석과 마케팅 전략 par DongSung Kim
소셜미디어와 웹로그 분석을 통한 브랜드 가치 분석과 마케팅 전략소셜미디어와 웹로그 분석을 통한 브랜드 가치 분석과 마케팅 전략
소셜미디어와 웹로그 분석을 통한 브랜드 가치 분석과 마케팅 전략
DongSung Kim2.9K vues
DevOps와 자동화 par DONGSU KIM
DevOps와 자동화DevOps와 자동화
DevOps와 자동화
DONGSU KIM9K vues
[160404] 유니티 apk 용량 줄이기 par MinGeun Park
[160404] 유니티 apk 용량 줄이기[160404] 유니티 apk 용량 줄이기
[160404] 유니티 apk 용량 줄이기
MinGeun Park30.3K vues
Jenkins와 Gitlab으로 쉽고 빠르게 구축하는 협업시스템 par Park JoongSoo
Jenkins와 Gitlab으로 쉽고 빠르게 구축하는 협업시스템Jenkins와 Gitlab으로 쉽고 빠르게 구축하는 협업시스템
Jenkins와 Gitlab으로 쉽고 빠르게 구축하는 협업시스템
Park JoongSoo21.6K vues
[160402_데브루키_박민근] UniRx 소개 par MinGeun Park
[160402_데브루키_박민근] UniRx 소개[160402_데브루키_박민근] UniRx 소개
[160402_데브루키_박민근] UniRx 소개
MinGeun Park36.2K vues
Front-end Development Process - 어디까지 개선할 수 있나 par JeongHun Byeon
Front-end Development Process - 어디까지 개선할 수 있나Front-end Development Process - 어디까지 개선할 수 있나
Front-end Development Process - 어디까지 개선할 수 있나
JeongHun Byeon50.5K vues
도커 무작정 따라하기: 도커가 처음인 사람도 60분이면 웹 서버를 올릴 수 있습니다! par pyrasis
도커 무작정 따라하기: 도커가 처음인 사람도 60분이면 웹 서버를 올릴 수 있습니다!도커 무작정 따라하기: 도커가 처음인 사람도 60분이면 웹 서버를 올릴 수 있습니다!
도커 무작정 따라하기: 도커가 처음인 사람도 60분이면 웹 서버를 올릴 수 있습니다!
pyrasis274.4K vues
[야생의 땅: 듀랑고] 지형 관리 완전 자동화 - 생생한 AWS와 Docker 체험기 par Sumin Byeon
[야생의 땅: 듀랑고] 지형 관리 완전 자동화 - 생생한 AWS와 Docker 체험기[야생의 땅: 듀랑고] 지형 관리 완전 자동화 - 생생한 AWS와 Docker 체험기
[야생의 땅: 듀랑고] 지형 관리 완전 자동화 - 생생한 AWS와 Docker 체험기
Sumin Byeon8.9K vues

Similaire à 레가시 프로젝트의 빌드 자동화

웹 Front-End 실무 이야기 par
웹 Front-End 실무 이야기웹 Front-End 실무 이야기
웹 Front-End 실무 이야기JinKwon Lee
54.3K vues83 diapositives
131 deview 2013 yobi-채수원 par
131 deview 2013 yobi-채수원131 deview 2013 yobi-채수원
131 deview 2013 yobi-채수원NAVER D2
14.7K vues112 diapositives
[NDC12] 변화량 분석을 중심으로 한 저비용 고효율의 지속가능한 코드퀄리티 관리법 - 송창규 par
[NDC12] 변화량 분석을 중심으로 한 저비용 고효율의 지속가능한 코드퀄리티 관리법 - 송창규[NDC12] 변화량 분석을 중심으로 한 저비용 고효율의 지속가능한 코드퀄리티 관리법 - 송창규
[NDC12] 변화량 분석을 중심으로 한 저비용 고효율의 지속가능한 코드퀄리티 관리법 - 송창규ChangKyu Song
3.2K vues92 diapositives
NDC13: DVCS와 코드리뷰 그리고 자동화를 통한 쾌속 개발 par
NDC13: DVCS와 코드리뷰 그리고 자동화를 통한 쾌속 개발NDC13: DVCS와 코드리뷰 그리고 자동화를 통한 쾌속 개발
NDC13: DVCS와 코드리뷰 그리고 자동화를 통한 쾌속 개발Jinuk Kim
5.4K vues108 diapositives
Laravel로 스타트업 기술 스택 구성하기 par
Laravel로 스타트업 기술 스택 구성하기Laravel로 스타트업 기술 스택 구성하기
Laravel로 스타트업 기술 스택 구성하기KwangSeob Jeong
7.5K vues84 diapositives
TOAST Meetup2015 - 구름 Cloud IDE (류성태) par
TOAST Meetup2015 - 구름 Cloud IDE (류성태)TOAST Meetup2015 - 구름 Cloud IDE (류성태)
TOAST Meetup2015 - 구름 Cloud IDE (류성태)TOAST_NHNent
2.2K vues71 diapositives

Similaire à 레가시 프로젝트의 빌드 자동화(20)

웹 Front-End 실무 이야기 par JinKwon Lee
웹 Front-End 실무 이야기웹 Front-End 실무 이야기
웹 Front-End 실무 이야기
JinKwon Lee54.3K vues
131 deview 2013 yobi-채수원 par NAVER D2
131 deview 2013 yobi-채수원131 deview 2013 yobi-채수원
131 deview 2013 yobi-채수원
NAVER D214.7K vues
[NDC12] 변화량 분석을 중심으로 한 저비용 고효율의 지속가능한 코드퀄리티 관리법 - 송창규 par ChangKyu Song
[NDC12] 변화량 분석을 중심으로 한 저비용 고효율의 지속가능한 코드퀄리티 관리법 - 송창규[NDC12] 변화량 분석을 중심으로 한 저비용 고효율의 지속가능한 코드퀄리티 관리법 - 송창규
[NDC12] 변화량 분석을 중심으로 한 저비용 고효율의 지속가능한 코드퀄리티 관리법 - 송창규
ChangKyu Song3.2K vues
NDC13: DVCS와 코드리뷰 그리고 자동화를 통한 쾌속 개발 par Jinuk Kim
NDC13: DVCS와 코드리뷰 그리고 자동화를 통한 쾌속 개발NDC13: DVCS와 코드리뷰 그리고 자동화를 통한 쾌속 개발
NDC13: DVCS와 코드리뷰 그리고 자동화를 통한 쾌속 개발
Jinuk Kim5.4K vues
Laravel로 스타트업 기술 스택 구성하기 par KwangSeob Jeong
Laravel로 스타트업 기술 스택 구성하기Laravel로 스타트업 기술 스택 구성하기
Laravel로 스타트업 기술 스택 구성하기
KwangSeob Jeong7.5K vues
TOAST Meetup2015 - 구름 Cloud IDE (류성태) par TOAST_NHNent
TOAST Meetup2015 - 구름 Cloud IDE (류성태)TOAST Meetup2015 - 구름 Cloud IDE (류성태)
TOAST Meetup2015 - 구름 Cloud IDE (류성태)
TOAST_NHNent 2.2K vues
[NDC17] 왓 스튜디오 서비스파트 par Chanwoong Kim
[NDC17] 왓 스튜디오 서비스파트[NDC17] 왓 스튜디오 서비스파트
[NDC17] 왓 스튜디오 서비스파트
Chanwoong Kim4.6K vues
김성훈 - 뛰어난 디버거가 되는 방법 par 성훈 김
김성훈 - 뛰어난 디버거가 되는 방법김성훈 - 뛰어난 디버거가 되는 방법
김성훈 - 뛰어난 디버거가 되는 방법
성훈 김5.3K vues
[PYCON Korea 2018] Python Application Server for Recommender System par Kwangseob Kim
[PYCON Korea 2018] Python Application Server for Recommender System [PYCON Korea 2018] Python Application Server for Recommender System
[PYCON Korea 2018] Python Application Server for Recommender System
Kwangseob Kim2K vues
[PYCON Korea 2018] Python Application Server for Recommender System par Kwangseob Kim
[PYCON Korea 2018] Python Application Server for Recommender System [PYCON Korea 2018] Python Application Server for Recommender System
[PYCON Korea 2018] Python Application Server for Recommender System
Kwangseob Kim758 vues
빌드관리 및 디버깅 (2010년 자료) par YEONG-CHEON YOU
빌드관리 및 디버깅 (2010년 자료)빌드관리 및 디버깅 (2010년 자료)
빌드관리 및 디버깅 (2010년 자료)
YEONG-CHEON YOU1.1K vues
오픈소스 컨트리뷰톤 2020 backend.ai 발표자료 par 지원 정
오픈소스 컨트리뷰톤 2020 backend.ai 발표자료오픈소스 컨트리뷰톤 2020 backend.ai 발표자료
오픈소스 컨트리뷰톤 2020 backend.ai 발표자료
지원 정110 vues
지속적인 통합 par 중선 곽
지속적인 통합지속적인 통합
지속적인 통합
중선 곽2.7K vues
[170403 2주차]C언어 A반 par arundine
[170403 2주차]C언어 A반[170403 2주차]C언어 A반
[170403 2주차]C언어 A반
arundine257 vues
[오픈소스컨설팅]Session 6. scrum과 jira 기반의 소프트웨어 개발 프로세스 par Hee Jae Lee
[오픈소스컨설팅]Session 6. scrum과 jira 기반의 소프트웨어 개발 프로세스[오픈소스컨설팅]Session 6. scrum과 jira 기반의 소프트웨어 개발 프로세스
[오픈소스컨설팅]Session 6. scrum과 jira 기반의 소프트웨어 개발 프로세스
Hee Jae Lee236 vues
『이펙티브 디버깅』 - 디버깅 지옥에서 탈출하는 66가지 전략과 기법 par 복연 이
『이펙티브 디버깅』 - 디버깅 지옥에서 탈출하는 66가지 전략과 기법『이펙티브 디버깅』 - 디버깅 지옥에서 탈출하는 66가지 전략과 기법
『이펙티브 디버깅』 - 디버깅 지옥에서 탈출하는 66가지 전략과 기법
복연 이7.8K vues
[231]나는서버를썰터이니너는개발만하여라 양지욱 par NAVER D2
[231]나는서버를썰터이니너는개발만하여라 양지욱[231]나는서버를썰터이니너는개발만하여라 양지욱
[231]나는서버를썰터이니너는개발만하여라 양지욱
NAVER D23.5K vues
프로젝트 관리 및 지켜야 할 사항들 par Lee Geonhee
프로젝트 관리 및 지켜야 할 사항들프로젝트 관리 및 지켜야 할 사항들
프로젝트 관리 및 지켜야 할 사항들
Lee Geonhee112 vues
클라우드 환경에서 알아야할 성능 이야기 par YoungSu Son
클라우드 환경에서 알아야할 성능 이야기클라우드 환경에서 알아야할 성능 이야기
클라우드 환경에서 알아야할 성능 이야기
YoungSu Son1.6K vues
[17.02.09] Github introduction (Korean Version) par Ildoo Kim
[17.02.09] Github introduction (Korean Version)[17.02.09] Github introduction (Korean Version)
[17.02.09] Github introduction (Korean Version)
Ildoo Kim348 vues

레가시 프로젝트의 빌드 자동화

Notes de l'éditeur

  1. 컴뱃암즈 이력 http://www.thisisgame.com/board/view.php?id=126976&category=410 * 2005 년 개발 시작 * 2007 년 게임 공개 및 서비스 시작
  2. 이쯤에서 청중의 경험을 파악하자 1. Ship It!, 지속적인 통합과 같이 빌드 자동화와 관련된 서적을 읽어본 사람이 얼마나 되나 ? 2. 경력은 ? ( 학생 , 신입 ~3 년 차 , 그 이상 ) 3. 운영 / 빌드 업무를 맡아본 사람은 얼마나 되나 ? 4. 빌드 자동화를 해본 사람은 얼마나 되나 ?
  3. 학생 / 신입이 많다면 , 학생이 IDE, 뒤에 나올 소스 /CI 서버에 익숙하긴 한가 ? 확인부터 하자 . 그들이 빌드 담당자가 될 확률이 왜 높은지 , 이 세션을 들으면 왜 좋은지 이야기하자 .
  4. 다이어그램 출처 : http://www.javaworld.com/javaworld/jw-06-2007/jw-06-awci.html
  5. 여기에 쓰인 예제는 * 소스코드 : http://code.google.com/p/earlgrey/ * CI 서버 (CruiseControl .NET) : http://confluence.public.thoughtworks.org/display/CCNET
  6. 빌드 속도 개선을 최우선적으로 다뤄야 한다 . 피드백이 빨라야 빌드 자동화 작업이 편해지기 때문이다 .
  7. 여담 – 통합 빌드의 중요성 (NDC 에 관련 발표가 있었음 )( 통합 빌드를 유지 못하고 지역별로 분기를 타서 결국 지역별로 담당자를 따로 두거나 심지어 팀을 분리해 운영하는 경우까지 있다 .
  8. 데이터베이스 버전 관리는 빌드 자동화보단 버전 관리 정책에 가까우므로 본 문서에서 다루지 않는다 . 따로 관리되는 서버 / 클라이언트 * 서버 : Subversion * 클라이언트 : AlienBrain  통합 버전 관리가 안 됨 별도로 설치해야 하는 라이브러리 * DirectX SDK * IncrediBuild 등을 도입할 때 문제가 생김
  9. 명령 줄 , 텍스트 형식의 구성 파일 , 레지스트리
  10. SFTP 로 통합 . 크리티컬 패스 : 퍼블리셔 , 보안팀 , 시스템 엔지니어링 팀 등과 협의가 필요한 일
  11. 네트워크 대역폭 ? 파일 서버라면 메모리가 적어도 된다는 오해 빌드 머신도 마찬가지 IO 작업이 많기 때문에 사용 가능한 메모리가 순식간에 사라지고 페이지 스왑이 반복된다 . 작업 시간이 길어지고 생산성이 떨어진다 .
  12. MSBuild 의 /v:diag 로 분석하니
  13. 추가 기법 UnityBuild C++ 프로젝트의 물리적 구조를 이해하기
  14. 하나의 저장소 원칙의 유일한 예외 : 보안 이슈가 있는 프로그램이나 구성 파일은 별도의 저장소에 두었다 . 추적 가능성이 중요한 이유 ? : 1 시간 짜리 빌드를 끝내고 나서 처음 10 분 지점에서 오류가 발생한 사실을 깨닫는다면 ?
  15. 빌드 속도를 향상시키려는 피나는 노력 컴포넌트 별로 개발자가 다를 때 이런 구성이 생기곤 한다 .
  16. Visual Studio 의 환경설정은 로컬 PC 에만 적용된다 .
  17. C:\\ 는 있겠지 * MkLink
  18. 사고 사례의 수집 및 대응