78
출제예상 CI, CD [CI의 정의]
- 개발자 별로 소스코드를 지속적/연속적 통합하여 자동화된 빌드, 테스트 및 배포 기능을 통하여 단기간에 고품질의 SW를 획득하는 기술 (형상관리 필수적용)
[CD의 정의]
변경된 요구사항에 대한 개발/통합/배포/테스트/릴리즈를 자동화함으로써 SW의 개발과 운영을 통합하여 DevOps를 지원하는 소프트웨어 연속적인 배포 출시 전략
CI, 자동화, 통합, 빌드, 배포, Jenkins 연속적 소스 머지, 연속 배포 CI : 소스파일을 실행파일(바이너리파일)로 컴파일, 테스트, 테스트서버에 배포까지 프로 세스(Build Tool)
토픽 이름 CI (Continuous Integration), CD (Continuous Delivery)
분류 PM > Agile > CI, CD
키워드(암기) 소스파일의 연속적인 통합(CI) 연속적 배포(CD)
CI : 소스코드의 통합/테스트/배포 자동화를 통한 고품질 SW 획득
CD : S/W 개발 운영 통합을 통한 DevOps 지원하는 연속적인 배포
암기법(해당경우)  

 

기출문제

번호 문제 회차
1 12. CI(Continuous Integration) 대해 설명하시오. 합숙_2019.04.관리.Day-5
2 4. CI(Continuous Integration) CD(Continuous Delivery) 설명하고, 이를 통한 SW 생산성 향상방안에 대해 제시하시오. 합숙_2018.08.공통.Day-5
3 1. 클라우드 환경 확산 따라 DevOps 중요성이 증가하고 있다. DevOps 구성요소에 대해서 설명하고, CD(Continuous Delivery) 개념과 절차에 대해서 설명하시오. 모의_2017.04.관리.4
4 다양한 요구 변화에 대한 품질을 확보하며 안정적인 시스템 운영을 위해 스타트업 기업 위주로 DevOps 사상을 도입하는 경우가 증가하고 있다. DevOps 부각 배경과 CI(Continuous Integration) 도구, 그리고 DevOps 적용 고려사항에 대해서 설명하시오. 모의_2016.04.관리.4
5 1. CI(Continuous Integration), CD(Continuous Delivery) 대해 설명하시오. 합숙_2014.07.공통.Day-3

 

I. SW 품질개선과 위험 완화를 위한 Agile Practice, CI (Continuous Integration)) 개요

. CI 정의

- 개발자 별로 소스코드를 지속적/연속적 통합하여 자동화된 빌드, 테스트 배포 기능을 통하여 단기간에

고품질의 SW 획득하는 기술 (형상관리 필수적용)

. CI 목적/필요성

필요성 내용
에러의 조기 발견 - 에러를 초기에 발견할 있어, 흔히 발생하는 일반적인 위험을 줄여줌
- 자주 통합할수록 에러가 발생하는 반경(소스Gap) 좁아짐
배포 용이성 확보 - 언제 어느 때라도 배포할 있는 소프트웨어를 생성
가시적 관리 및 자동화 - 프로젝트 가시성 향상, 반복적인 수작업 최소화

 

II. CI 개념도 기술요소

. CI 개념도

 

. CI 기술요소

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

 

III. CI 위험요소와 프렉티스를 성공적 수행하기 위한 자동화 프로세스 Tools

소프트웨어 위험요소 CI 자동화 프로세스 CI 자동화 Tools
배포 가능한 SW 부재
빌드 실패
DB 동기화 실패
배포 실패
소스 컴파일 자동화
DB Script 테스트
릴리즈 자동화
Ant, Maven
뒤늦은 결함 발견
회귀테스트 부재
테스트 적용범위 부재
테스트 자동화 JUnit, TestNG, Selenium
프로젝트 가시성 부재 통합 결과 피드백 Hudson, CruiseControl
저품질 SW
코딩표준, 설계지침 위반
중복/복잡한 코드
코딩 표준, 설계 지침, 중복코드, 코드복잡도 검사 자동화 Checkstyle, PMD, JDepent, Findbugs

 

[CD(Continuous Delivery)]

I. SW 개발/운영 통합관리, DevOps 위한 CD(Continuous Delivery) 개요

 

 

- 변경된 요구사항에 대한 개발/통합/배포/테스트/릴리즈를 자동화함으로써 SW 개발과 운영을 통합하여 DevOps 지원하는 소프트웨어 연속적인 배포 출시 전략

II. CI CD 관계도

 

- Commit 코드를 CI를 수행하고 CD 수행하여 지속적인 Deploy 수행

 

[추가_2018.08.합숙풀이]

- 발전된 오픈소스를 통해 CI/CD 넘어서 DevOps 환경 구성가능

반응형

'정보관리기술사 > 소프트웨어공학' 카테고리의 다른 글

Architecture  (0) 2024.03.08
번다운차트  (0) 2024.03.07
Lean(린)  (1) 2024.03.05
Kanban  (4) 2024.03.04
XP  (0) 2024.03.03

+ Recent posts