7. • Moving FAST!
• Always for Customer!
Waterfall
Design Code Test Delivery
Agile
Design Code Test DeliveryD Code Test D Code Test
DevOps
Design C T DD C T DD C T DD C T DD C T D
DevOps?
8. DevOps?
• DevOps is NOT A JOB TITLE.
• DevOps is NOT A SEPARATE TEAM.
• DevOps is NOT A TOOL.
21. [CI] 유형 별 구축 사례
• Project 단계 CI 구축 (사례)
150명
Developers
VCS
Change Management
Continuous Integration
Dev Svr
SIT Svr
0명
Operators
13개
Projects
22. [CI] 유형 별 구축 사례
• Project 단계 CI 구축 (사례)
• Git Branch/tag(DEV/STG) 사용
• Code Review 단계 없음
• Merge Manager 없음
• Jenkins를 이용하여 JIRA Issue 단위로 배포 요청된 소스 코드만 요청 시 대상 서버
(Dev/SIT) 배포
23. [CI] 유형 별 구축 사례
• Project 단계 CI 구축 (사례)
• 비 대상 소스 코드 배포 방지
C1 C2 C3master C4
Issue#1 Issue#2 Issue#2 Issue#3
Dev svr 배포요청
24. [CI] 유형 별 구축 사례
• Project 단계 CI 구축 (사례)
• 비 대상 소스 코드 배포 방지
git checkout C1
C1 C2 C3master C4
Issue#1 Issue#2 Issue#2 Issue#3
HEAD
25. [CI] 유형 별 구축 사례
• Project 단계 CI 구축 (사례)
• 비 대상 소스 코드 배포 방지
C1 C2 C3master C4
Issue#1 Issue#2 Issue#2 Issue#3
Dev svr deployed feedback
26. [CI] 유형 별 구축 사례
• Project 단계 CI 구축 (사례)
• 비 대상 소스 코드 배포 방지
C1 C2 C3master C4
Issue#1 Issue#2 Issue#2 Issue#3
Workflow로 SIT배포 가능 여부 통제
28. [CI] 유형 별 구축 사례
• 운영 단계 CI 구축 (사례)
82명
Developers
46개
Projects
Test Svr
Prd Svr
SIT Svr
3명
Operators
29. [CI] 유형 별 구축 사례
• 운영 단계 CI 구축 (사례)
• SVN tag 사용
• Code Review / 동료 검토 진행
• Merge Manager 없음
• SmartBuilder를 이용하여 JIRA Issue 단위로 Dev/Stg 서버 배포,
STG 배포 완료 Issue 중 PRD 배포 요청 건에 대해 주 단위 배포
30. • 운영 단계 CI 구축 (사례)
• 소스 역전 방지 / 비 대상 소스코드 배포 방지
[CI] 유형 별 구축 사례
/
trunk
tags test
sit
prd
JIRA ID Rev No. File-name 단계
ISS-1 1 a.java Test
ISS-3 2 b.java SIT
ISS- 3 c.java PRD
Issue#1
Issue#2
Issue#3
a.Java
b.Java
c.Java
DB Table에 Issue No, Rev No, File Name, 단계 저장
31. • 운영 단계 CI 구축 (사례)
• 소스 역전 방지 / 비 대상 소스코드 배포 방지
[CI] 유형 별 구축 사례
/
trunk
tags test
sit
prd
JIRA ID Rev No. File-name 단계
ISS-1 1 a.java
ISS-3 2 b.java SIT
ISS- 3 c.java PRD
Issue#1
Issue#2
Issue#3
a.Java
b.Java
c.Java
a.Java
svn export 로 배포 대상 파일 이관
32. • 운영 단계 CI 구축 (사례)
• 소스 역전 방지 / 비 대상 소스코드 배포 방지
[CI] 유형 별 구축 사례
/
trunk
tags test
sit
prd
JIRA ID Rev No. File-name 단계
ISS-1 1 a.java
ISS-3 2 b.java SIT
ISS- 3 c.java PRD
Issue#1
Issue#2
Issue#3
a.Java
b.Java
c.Java
배포 가능 여부 확인 (소스 역전 / 비 대상 조회)
33. • 운영 단계 CI 구축 (사례)
• 소스 역전 방지 / 비 대상 소스코드 배포 방지
[CI] 유형 별 구축 사례
/
trunk
tags test
sit
prd
JIRA ID Rev No. File-name 단계
ISS-1 1 a.java
ISS-3 2 b.java SIT
ISS- 3 c.java PRD
Issue#1
Issue#2
Issue#3
a.Java
b.Java
c.Java
파일의 유형에 따라 옵션 부여하여 배포 진행 / 배포 불가 처리
*. 하위 버전 파일 배포 요청 시
1. 해당 파일 제외 배포 가능 배포 진행
2. 해당 파일 제외 불가 배포 불가