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