RadarURL

응용 프로그래밍
2014.05.15 18:22

지속적인 통합 (Continuous Integration)

조회 수 1201 추천 수 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
번호 분류 제목 글쓴이 날짜 조회 수
공지 [공지] 공부 게시판 입니다. 처누 2003.08.18 931219
2503 유닉스/리눅스 리눅스 서버 설치 중 에러 "Failed to find a suitable stage1 device" JaeSoo 2025.10.03 36
2502 유닉스/리눅스 Linux 11 . Linux 설치 시 lvm 수동설정 JaeSoo 2025.10.03 28
2501 유닉스/리눅스 [Rocky Linux] 누구나 쉽게 따라하는 Rocky Linux 9.0 OS 다운로드 및 설치 방법~!! JaeSoo 2025.10.03 40
2500 유닉스/리눅스 Linux/Rocky Linux Rocky Linux : Composer 설치 JaeSoo 2025.09.29 43
2499 유닉스/리눅스 [Rocky Linux] 록키 리눅스 최신 업데이트 적용 방법 JaeSoo 2025.09.29 44
2498 유닉스/리눅스 rocky linux 커널 업데이트 JaeSoo 2025.09.29 36
2497 웹서버,WAS [Windows] OWASP ZAP 사용법 JaeSoo 2025.09.29 50
2496 웹서버,WAS [웹 취약점] 웹서버 디렉토리 리스팅 방지 JaeSoo 2025.09.29 52
2495 유닉스/리눅스 Clonezilla(클론질라) 백업파일 하드디스크로 복구 방법 JaeSoo 2025.09.28 44
2494 유닉스/리눅스 클론질라 사용 방법 - OS 이미지 백업 CloneZilla JaeSoo 2025.09.28 57
2493 유닉스/리눅스 [Linux / Rocky] FTP 접속 관련 설정 실습 예제 JaeSoo 2025.09.23 72
2492 유닉스/리눅스 Could not reliably determine the server's fully qualified domain name JaeSoo 2025.09.23 70
2491 유닉스/리눅스 [아파치] 아파치 웹서버에 .htaccess 파일 설정하는 방법 JaeSoo 2025.09.23 65
2490 유닉스/리눅스 [Linux] Apache web server의 rewrite module 사용하기 [출처] [Linux] Apache web server의 rewrite module 사용하기|작성자 g00dmoney JaeSoo 2025.09.23 61
2489 유닉스/리눅스 록키 리눅스 9.1에서 apache, mysql, PHP 설치 JaeSoo 2025.09.23 68
2488 유닉스/리눅스 [권한문제] 라이믹스 Fatal error: Uncaught Rhymix\Framework\Exception: Cannot write template cache file JaeSoo 2025.09.23 56
2487 유닉스/리눅스 라이믹스 php 에러 표시 JaeSoo 2025.09.23 53
2486 유닉스/리눅스 Rocky Linux - 라이믹스(Rhymix) 설치하기 JaeSoo 2025.09.23 49
2485 유닉스/리눅스 라이믹스(Rhymix) 매뉴얼 JaeSoo 2025.09.23 45
2484 유닉스/리눅스 [ Apache ] 아파치 start/stop/restart 명령어 JaeSoo 2025.09.23 37
Board Pagination Prev 1 2 3 4 5 6 7 8 9 10 ... 126 Next
/ 126


즐겨찾기 (가족)

JAESOO's HOMEPAGE


YOUNGAE's HOMEPAGE


장여은 홈페이지


장여희 홈페이지


장여원 홈페이지


즐겨찾기 (업무)

알리카페 홀릭

숭실대 컴퓨터 통신연구실 (서창진)

말레이시아 KL Sentral 한국인 GuestHouse


즐겨찾기 (취미)

어드민아이디

유에코 사랑회

아스가르드 좋은사람/나쁜사람

JServer.kr

제이서버 메타블로그

재수 티스토리


즐겨찾기 (강의, 커뮤니티)

재수 강의 홈페이지


한소리


VTMODE.COM


숭실대 인공지능학과


숭실대 통신연구실


베너