1. Daily Build의 개요
1-1. Daily Build의 정의
- 지속적으로 변경되는 Source code에 대하여 지정된 시간에 테스트, 패키징, 태깅, 레포팅, 이슈관리 연결 등의 개발자가 사전 정의한 업무를 자동으로 수행하는 절차
1-2. Daily Build의 필요성
1) 지속적 통합 : 변경 및 수정되는 사항을 매일 반영함으로써 개발의 신속성 제공 (XP 실천 요소)
2) 배포 효율화 : 별도의 배포 프로세스 없이 기 설정된 시나리오대로 자동 배포 가능
3) 짧은 릴리즈 : 릴리즈 주기를 짧게 하여 시스템의 완성도 확보 및 통합시의 리스크를 감소
4) 스모크 테스트 : End-to- End 테스트 결과물에 대한 검증 확인 배포
2. Daily Build의 개념도, 구성요소
2-1. Daily Build의 개념도
2-2. Daily Build의 구성요소
1) IDE(통합개발환경)
- 코딩, 디버깅, 컴파일, 배포 등 프로그램 개발에 관련된 모든 작업을 하나의 프로그램 내 처리하는 환경을 제공
- 사례: 이클립스
2) CVS(형상관리도구)
- Check-In, Check-Out기능, 버전Control, Source의 무결성, 변경사항관리/기록
- 사례: Subversion Clearcase
3) Repository
- Version, 형상정보, 오류정보, ISSUE를 기록하기 위한 저장소
- 사례: 원본 Source및 Backup 저장소
4) Build Server(서버)
- Source Code의 최종본을 Build 및 Test하기 위한 서버
- 사례: Windows계열 사용
5) Scheduler(스케줄링)
- Build, Test Scheduling, Batch Job Script활용하여 Job Time정의
- 오류발생시 SM유지보수 담당자 E-mail Alert 적용 가능, Build Scheduling은 1일, 2일 또는 특정 요일
- 사례: (Ex. 화, 목 00:00)로 적용할 수 있음 (Ant Script)
6) Alerter, Reporter
- ISSUE, 오류, 버그 발생 Alert 및 Report 도구, Bug Tracking System과 연계하여 구성가능
- 사례: Luntbuild
'1. IT Story > Basic Studies' 카테고리의 다른 글
AOP(Aspect Oriented Programming) (0) | 2019.06.26 |
---|---|
플래닝 포커(Planning Poker) (0) | 2019.06.25 |
SCRUM (0) | 2019.06.24 |
ALM(Application Lifecycle Management) (0) | 2019.06.23 |
CI(Continuous Integration) (0) | 2019.06.21 |
ATDD(Acceptance Test Driven Development) (0) | 2019.06.20 |
SEM(Strategic Enterprise Management) (0) | 2019.06.19 |
TDD (Test Driven Development) (0) | 2019.06.18 |