RadarURL
Skip to content
조회 수 1616 추천 수 0 댓글 0
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄

지속적인 통합(Continuous Integration)은 팀의 구성원들이 자신들의 작업한 내용을 자주 통합(통상 최소 매 일 단위)하는 개발 지침를 말한다.-개발자들은 하루에 몇차례씩 빌드를 수행한다.통합이 수행될 때마다 테스트를 포함한 자동화된 빌드절차에 의해 통합내용은 자동 검증 되며, 이로 인해 통합시 발생하는 에러를 조기에 발견할 수 있게된다. 많은 팀들이 이러한 접근이 소프트웨어 통합에서 발생할 수 있는 중요한 문제들을 줄여주고, 보다 빠르게 응집력이 높은 소프트웨어를 개발할 수 있게 해준 다는 점을 잘 알고 있다. 본 글은 지속적인 통합의 기술과 현재 사용에 관련된 내용을 정리한 간단한 리뷰이다.

01 May 2006

mf.jpg

마틴 파울러 (Martin Fowler)

Contents

나는 대규모 프로젝트를 처음 견학했던 때를 생생하게 기억한다. 당시 나는 꽤 규모가 큰 영국 전자회사에서 하계 인턴쉽을 수행 중에 있었다. QA그룹 소속이었던 내 관리자는 사이트를 둘러볼 수 있게 해주었고, 우리는 큐브가 가득 쌓여있는 상당히 우울한 느낌을 주는 창고로 들어섰다. 그 프로젝트는 2년이상 개발이 진행이 되고 있었으며, 최근 몇 달동안 통합 작업이 진행 중에 있다는 것을 들었다. 내 가이드는 그 어느 누구도 통합 작업을 언제 끝마치게 될지 장담을 할 수 없다고 했다. 이 일로 나는 소프트웨어 프로젝트의 일반적인 얘기를 하나 알게 되었다. :통합은 예측하기 어려운 기나긴 프로세스 라는 것을.

하지만 이는 문제가 되지 않는다. 내 동료들과 ThoughtWorks에서 수행한 대부분의 프로젝트 혹은 전 세계 많은 프로젝트에서 통합 작업은 큰 문제로 여겨지지 않는다. 개별 개발자들의 작업은 공유된 프로젝트 상태에서 단 몇시간 만 떨어져 나와 있을 뿐, 몇 분안에 공유 프로젝트 상태에 통합이 될 수 있다. 통합 수행 과정에서 에러는 조기에 발견되며 수정된다.

이러한 차이는 고가의 복잡한 툴의 결과가 아니다. 핵심은 팀의 모든 이는 작업한 내용을 소스코드 저장소에 자주(보통 일 단위) 통합을 한다는 단순한 지침에 있다.

지속적인 통합에 대한 최초 글“은 Matt이 2000년 ThoughtWorks 프로젝트에서 지속적인 통합을 합칠 수 있도록 도와준것 에 대한 우리의 경험을 서술한 글이다.

이 지침을 사람들에게 설명하면, 나는 두 가지 형태의 반응을 접하게 된다: “여기서는 그렇게 할 수 가 없어요”, “그렇게 해서 뭐가 크게 달라지는 없을 거에요”. 하지만 이 지침을 시도해본 사람들은 생각보다 매우 쉬우며, 개발할 때 매우 큰 차이점을 만들어낸다는 것을 알게된다. 그래서 세번째 반응은 다음과 같다. “예. 우리는 그렇게 합니다.-그렇게 하진 않고서 어떻게 개발을 할 수 있어요?”

“지속적인 통합”이라는 용어는 XP(Extreme Programming)에서 유래한 단어로써 XP에서 제시하는 12가지 지침 중 하나다. 처음 ThoughtWorks에서 컨설턴트로 시작할 때, 나는 내 프로젝트에서 이 기법을 사용하도록 독려하였다. Matthew Foemmel은 내 모호한 권고사항을 구체적인 활동으로 바꿨고, 띄엄 띄엄 발생하여 매우 복잡했던 통합작업이 나중에는 별 문제가 되지 않는 프로젝트로 변하는 것을 보게 되었다. Mattew와 나는 당시의 경험을 이 글의 초기 버전에 적었고, 이제 내 사이트 중 가장 인기있는 글중 하나가 되었다.

지속적인 통합이 디플로이를 위한 특정 툴을 요구하지 않지만, 우리는 지속적인 통합을 위한 서버를 사용하는 것이 좀더 효과적이라는 것을 알게되었다. 제일 잘 알려진 서버는 ThoughtWorks의 몇몇 개발자에 의해 최초로 개발돼, 이제는 많은 커뮤니티에서 유지되고 있는 오픈소스 Cruise Control이다.

원문보기
Continuous Integration

본 포스트는 Martin Fowler 선생께서 쓴 글을 번역 게재한 글이다. 선생은 본인의 글을 직접 게재하는 것을 허용하지는 않지만, 번역은 허용하고 있다.
원문에도 한국어 번역글로 등록이 되어있는데, 이 글보다 몇 년 앞서 더 훌륭한 솜씨로 한글로 번역해 놓은 글이 있으니 참조하면 좋을 듯 하다. (황상철님의 실용주의이야기 의 ‘지속적인 통합‘)

출처 : http://nangpuni.net/?p=617

?

List of Articles
번호 제목 글쓴이 날짜 조회 수
55 Iaas, Paas, SaaS, HaaS, BaaS 개념 JAESOO 2017.05.04 50
54 IaaS, PaaS, SaaS란 무엇인가요? JAESOO 2017.05.04 21
53 엑셀 시트보호 해제 프로그램 없이 하기 JAESOO 2016.09.06 272
52 윈도우 컴퓨터 유지보수에 유용한 무료 프로그램들 JAESOO 2016.08.31 160
51 마이크로소프트 오피스 제품군 완전 삭제 방법 JAESOO 2016.07.01 201
50 FileZilla Server, How do aliases work? (파일질라 서버, 별칭 설정 방법) JAESOO 2014.09.04 1072
49 개발자&웹퍼블리셔 운영서버 배포관리는 어떻게 하시고 계신가요? JAESOO 2014.05.15 1133
48 버전관리 - 형상관리, 소스세이프, CVS, Subversion(SVN), GIT, mercurial(hg), Perforce JAESOO 2014.05.15 5380
47 빌드를 자동화하라 (Automate the Build) JAESOO 2014.05.15 774
46 단일화된 소스 저장소를 유지하라. (Maintain a Single Source Repository.) JAESOO 2014.05.15 1465
45 지속적인 통합으로 피처요구사항 빌드하기 (Building a Feature with Continuous Integration) JAESOO 2014.05.15 1325
» 지속적인 통합 (Continuous Integration) JAESOO 2014.05.15 1616
43 변경관리/형상관리/빌드배포 자동화 연동 시 주요 이슈 JAESOO 2014.05.15 1397
42 형상관리의 기능 범주 JAESOO 2014.05.15 1520
41 엑셀 Alt + Enter(개행문자), 빈 행 등 특수문자 지우기, 찾기 및 바꾸기 관련 JAESOO 2013.07.04 11844
40 MS Live.com 무료 도메인 메일 서비스 이용 JaeSoo 2013.04.05 1696
39 Windows Live Hotmail, POP3/SMTP 개방 JaeSoo 2013.04.05 1534
38 V3 광고 않뜨게 하기 JaeSoo 2013.01.07 1622
37 CPU-Z 1.61 사용법/무설치 32bit/64bit 내 컴퓨터 사양 보는법! JaeSoo 2012.11.10 4673
36 MRTG(Multi Router Traffic Grapher) 설치하기 JaeSoo 2012.09.14 2026
Board Pagination Prev 1 2 3 Next
/ 3

PageViews   Today : 1,000   Yesterday : 1,830   Total : 19,510,205  /  Counter Status   Today : 457   Yesterday : 602   Total : 1,331,780
Site Info   Member : 91  /  Total documents : 1,223   New documents : 0  /  Total comments : 21

Edited by JAESOO

sketchbook5, 스케치북5

sketchbook5, 스케치북5

나눔글꼴 설치 안내


이 PC에는 나눔글꼴이 설치되어 있지 않습니다.

이 사이트를 나눔글꼴로 보기 위해서는
나눔글꼴을 설치해야 합니다.

설치 취소