'Daily Build'에 해당되는 글 2건

1. CI(Continuous Integration )의 개요

 1-1. CI(Continuous Integration )의 정의

  - 여러 명으로 구성된 팀이 작업한 것을 자주 통합 하는 것을 가리키는 소프트웨어 개발 프랙티스 

  - 매번 이루어지는 통합은 자동화된 빌드와 테스트를 통하여 통합 에러가 없는지 가능한 빨리 검증되며 통합 시에 발생하는 문제도 조기 발견되어 단위코드의 품질을 향상시킴

 

 1-2. CI(Continuous Integration )의 특징

  - 소스코드 일관성 유지

  - 소스코드 자동빌드

  - 빌드 과정에서의 자동화 테스트(기능/비기능)

  - 일일 체크아웃과 빌드를 통한 코드 무결성 유지

 

2. CI(Continuous Integration)의 구성도, 구성요소, 주요프로세스

 2-1. CI(Continuous Integration)의 구성도

 

 

 2-2. CI(Continuous Integration)의 구성요소

구성요소 내용
버전관리 저장소  - 모든 프로젝트 파일의 중앙 저장소가 있어 팀원들의 작업을 전부 동기화 공간 제공
지속적인 통합서버 (CI 시스템 )  - 컴파일 , 테스트 , 릴리즈 , 디플로이 , 결과보고 등의 작업을 통합적으로 자동 화 해주는 SW
빌드 스크립트 - 자동화된 절차를 위한 셀 스크립트 ( 또는 배치파일 ) 을 작성
PM Tool - 빌드 결과를 모니터링 하거나 자동적으로 피드백을 받을 수 있는 관리도구 로 의사소통도구 ( 이메일 , 문자 메시지 ), 빌드 모니터등
자동화된 테스트 - 결과를 스스로 확인하는 자동화된 테스트

 

 2-3. CI(Continuous Integration)의 주요 프로세스

'1. IT Story > Basic Studies' 카테고리의 다른 글

CAP(Consistency, Availability, Partitioning) 이론  (0) 2020.12.24
데이터 품질관리의 Data Profiling  (0) 2020.12.24
MMDB(Main Memory Data Base)  (0) 2020.12.24
DB 샤딩(Sharding)  (0) 2020.12.24
테스트자동화  (0) 2019.09.22
V&V(Verification & Validation)  (0) 2019.09.20
빅데이터(Big Data)  (0) 2019.09.19
3D프린팅  (0) 2019.09.17
블로그 이미지

운명을바꾸는자

IT와 함께 살아가는 삶

,

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
블로그 이미지

운명을바꾸는자

IT와 함께 살아가는 삶

,