In Software engineering, continuous integration (CI, 지속적 통합) is the practice of merging all developer working copies to a shared mainline several times a day. (https://en.wikipedia.org/wiki/Continuous_integration)
언제나 최신의 동작가능한 버전을 유지하도록 하는 소프트웨어 공학 원리 - 각각 만들고 나중에 통합하는 것이 아닌 지속적인 통합. XP의 핵심 프랙티스 가운데 하나
주요 개념들
- 소스코드 저장소(Git, Subversion)의 이용: 자신의 변경사항을 적용하기 전에 항상 최신 버전을 업데이트 한다. --> 깨끗한 최신 버전 유지
- 모든 커밋(푸시)는 오류가 없는 깨끗한 버전이어야 한다. --> 테스트 해봐야 함
- 테스트, 빌드 자동화: 커밋 전 자동 테스트, 자동 빌드 진행
- 배포(deployment) 자동화
- 적절한 버전 및 브랜치 관리
이를 위해서는 "테스트 코드"가 중요함!
- 무언가 기능을 넣을 때는 그 기능이 잘 도는지 테스트하는 코드가 필요함
- A기능 구현 --> B기능 구현 --> C기능 구현. 그랬더니 A가 갑자기 아니됨.
- A기능 구현 (test A) --> B기능 구현 (test A, B) --> C기능 구현 (test A, B, C): 회귀 테스트
- 테스트주도개발(TDD) 혹은 테스트추가개발(TLP)
현재 진행상황을 알 수 있어야 함 (무엇을 개발할지, 어디까지 되는지, 어떤 오류들이 나타났는지 관리)
- Trac, GitLab을 이용한 개발 계획, 일정 계획, 이슈 관리
- 이슈별 처리 현황을 소스코드 저장소와 연동함.
- 장점 - 개발자와 기획(관리) 업무의 분담 가능. 불필요한 문서화 최소화. 개발 스트레스 최소화
관련정보 #
Suggested Pages #
- 0.025 September 2
- 0.025 Refactoring
- 0.025 Apache
- 0.025
- 0.025
- 0.025
- 0.025 Project management
- 0.025 C
- 0.025 July 27
- 0.025 Slack
- More suggestions...