140 likes | 314 Views
1 . 개요. 1. 1 -1. 1. 1 -1. Environment 별 Web Application 가변 파일 Development, Staging, Production 간 차이가 차이가 발생할 수 있는 파일은 아래와 같음. /**/*.html / js /**/*. js / css /**/*. css /images/**/*.gif /images /**/*.jpg /images /**/*. png / WEB-INF/ jsp /**/*. jsp /WEB-INF/classes/**/*.class
E N D
1. 1-1. • ... • ...
1. 1-1. • Environment 별 Web Application 가변 파일 • Development, Staging, Production 간 차이가 차이가 발생할 수 있는 파일은 아래와 같음 /**/*.html /js/**/*.js /css/**/*.css /images/**/*.gif /images/**/*.jpg /images/**/*.png /WEB-INF/jsp/**/*.jsp /WEB-INF/classes/**/*.class /WEB-INF/classes/**/*.properties /WEB-INF/**/*.xml /WEB-INF/lib/*.jar
1. 1-1. • Environment 별 설정 파일 처리 구현 방안 • ...
소스 변경, 빌드 배포 전략 선택을 위한 의사 결정 가이드
1. 1-1. • 소스 변경 관련 결정 항목 • ... 반영 전 Review 여부 소스 코드 변경량 사전/사후 Review Tags, Branches 활용 여부
1. 1-1. • 빌드 배포 관련 의사 결정 항목 • ... 전체, 부분 반영 여부 Hot Deploy 여부 Backup / Restore 활용 여부 Cleanup 여부
소스 코드 동결 전 Target 별 배포 전략 (기본)
1. 1-1. • Tag를 활용한 방법 (수동 검증) • 수작업 검증을 통한 Tagging 처리 • Tester가 직접 Deploy된 Web Application을 테스트하고 성공한 경우 tagging을 함 • 개발 중인 소스, 테스트 중인 소스, 릴리즈된 소스를 분리하여 처리 가능 • Tag ID는 목적에 따라 Milestone, Version, Timestamp 등의 정보를 활용할 수 있음 Legend Data Flow Control Flow SCM Server CI Server Development / Staging / Production Server 3. Packaging 4. Deploy 1. Checkout 2. Build 6. Tagging 5. Test
1. 1-1. • Tagging을 활용하지 않는 방법 (수동 검증) • 수작업 검증을 통한 Deploy 처리 • 개발 중인 동일 소스로 Development,, Staging, Production 용 배포 파일을 생성함 • Tester가 직접 Deploy된 Web Application을 테스트하고 성공한 경우 다음 단계 서버에 Deploy 함 • 테스트 실패하면 이후 단계의 서버 배포용 파일을 버림. Legend Control Flow Data Flow SCM Server CI Server Development / Staging / Production Server 3. Packaging 4. Deploy 1. Checkout 2. Build DEV 5. Test STG PRD
소스 코드 동결 전 Target 별 배포 전략 (응용)
1. 1-1. • Tag를 활용한 방법 (자동 검증) • 자동 검증을 통한 Tagging 처리 • Test Code가 Deploy된 Web Application을 자동으로 테스트하고 성공한 경우 tagging을 함 • 개발 중인 소스, 테스트 중인 소스, 릴리즈된 소스를 분리하여 처리 가능 • Tag ID는 목적에 따라 Milestone, Version, Timestamp 등의 정보를 활용할 수 있음 • Test Code는 기본적인 접속 테스트, CRUD 테스트, 모듈 간의 연계 테스트와 같은 정상 동작 점검용으로 사용 • (Maven Integration Test Plugin등을 활용) Legend Data Flow Control Flow SCM Server CI Server Development / Staging / Production Server 3. Packaging 4. Deploy 1. Checkout 2. Build 6. Tagging 5. Test
소스 코드 동결 후 Target 별 배포 전략 (기본)
1. 1-1. • Branch/Merging을 활용한 방법 (Fixes Branch) • 유지보수나 버그 수정을 위한 Branching 처리 (Maintenance Branch) • 릴리즈된 소스에 대한 수정분만 반영할 수 있도록 하기 위해 개발 중인 미완 소스와 격리 시켜야 할 때 사용 • 최종 릴리즈된 소스에서 (릴리즈한tag에서) Branch를 따되, 어떤 revision에서 Branch 시켰는지 알고 있어야 함 Legend Data Flow Control Flow TODO Release Branch Feature Branch Fixes Branch Hotfix ... SCM Server CI Server Development / Staging / Production Server 1. Branching 3. Packaging 4. Deploy 1. Checkout 2. Build 5. Test