-
CI 브랜치 전략
브랜치를 나누어 테스트가 완료된 코드와 개발 중인 코드를 분리할 수 있다. 브랜치의 종류와 역할은 다음과 같다.
- 마스터 브랜치 모든 테스트를 통과 후 배포가 완료된 브랜치
- 통합 브랜치 개발이 완료된 기능을 통합 후 테스트하기 위한 브랜치
- 기능 브랜치 마스터 브랜치 혹은 통합 브랜치에서 분화된 기능의 개발을 위한 브랜치
CI 파이프라인
지속적으로 빌드, 테스트, 정적 코드 분석 및 빌드 결과물을 바이너리 저장소에 업로드하는 것을 자동화하는 것을 목적으로 한다. 각각에 필요한 도구는 다음과 같다.
빌드 도구 Ant, Maven, Gradle ... 테스트 도구 JUnit, Selenium, Pywinauto ... CI 도구 Jenkins, Bamboo, TeamCity ... 버전 관리 시스템 Git, Mercurial, CVS, Subversion ... 정적 코드 분석 도구 SonarQube, FindBugs, PMD, CheckStyle ... 바이너리 저장소 관리자 Artifactory, CodeArtifact, S3 ...