ݺߣ

ݺߣShare a Scribd company logo
Atlassian 제품 기반 DevOps
박 재 석 | 대 표 | ㈜ 투 씨 드
Atlassian 제품 기반 DevOps
Jira + Bitbucket + Bamboo
Agenda
DevOps 와 CI/CD
• Development 와 Operations 의 합성어로 개발자와 운영 및 관련자
간의 의사 소통, 협업, 융합 을 강조한 소프트웨어 개발 방법론
• Agile을 운영으로 확장
• 능률적인 프로세스 적용 및 도구를 활용하여 Life cycle의 효율화
• 경험과 문화를 기반으로 하는 업무 방법론
DEVOPS
[출처: http://en.wikipedia.org/wiki/DevOps#Devops_Days]
DEVOPS WITH ATLASSIAN
[AIS 2018][Team Tools_Basic] Atlassian 제품 기반의 DevOps 구성 - 투씨드
CI/CD 구성 요소
ATLASSIAN 제품을 통한 CI/CD 구성
ATLASSIAN 제품을 활용한 WORKFLOW 구성 예시
User
CI/CDVersion Control
Developer
Repository
Bamboo
Server
Trigger
Commit
Test
Build
Deploy
Extension
Code Analysis & Test
Build
Deploy
Extension
Developer
Source code
Binary
Issue tracking
Trigger
Process
등록 개발 배포
Shell / Batch
QA
PM
Operator
Collaboration
DO IT!!! BUT…
HOW?
• 올바른 범주의 설정
• Practice에 대한 맹목적 추구 보다는 현실의 개선
• 무리한 진행 보다는 단계적 접근
• 사람이 할 일과 시스템이 할 일에 대한 구분
• 문화와 인식의 변화
Agenda Atlassian 제품 기반의 DevOps 구성
CONCEPT
• Atlassian 제품을 활용한 DevOps 기본 구성
• Jira software / Bitbucket / Bamboo 세 가지 제품으로 구성 된 개발 사이클 구성 예시
• 구성 및 전개 방안
개발 PM/PL 개발 담당자 개발/검증 배포 담당자
1.개발 작업 접수
- 개발 항목 등록
2.개발 시작
- Branch 생성
- Source 받기
3.개발 진행
- Source 변경/반영
- Pull request
3.빌드/배포
- 배포
PRODUCT – JIRA SOFTWARE
다양한 보고서
다양한 양식의 보고서를 제공하여
진행 되는 업무를 효율적으로 관리
Process 관리
조직에 필요한 Workflow 및 Field의
구성을 통해 Process를 관리하고
이를 계획 / 추적
P r o c e s s M a n a g e
Agile 구성
스크럼과 칸반 또는 혼합 등
다양한 형태 및 규모의 조직에
적합하게 구성이 가능한
Agile Project 관리 도구
A g i l e P l a t f o r m
업무 환경의 통합
Confluence 및 Hipchat, BitBucket 등
Atlassian의 다양한 제품 및
SVN,Jenkins 등 다양한 도구와의
연계를 지원하여 통합 업무 환경을
구성하고 다양한 Add-on을 통해
확장 기능을 구성
I n t e g r a t i o n
[제품소개 및 다운로드]
https://ko.atlassian.com/software/jira
PRODUCT - BITBUCKET
강력한 권한 통제
Bitbucket의 강력한 Branch 권한 및
프로젝트 권한 관리 기능으로
보다 강력한 권한 통제
Git 기반의 소스관리
가장 범용적인 Git 기반의 개발
소스 관리 환경을 기반으로
강력한 확장성을 제공하는
협업형 Git 솔루션
D V C S
편리한 Code 검색
시맨틱 검색을 기본 포함하여
편리한 코드 검색 환경 제공
S e a r c h i n g
Atlassian 제품 통합
Jira 및 Bamboo와 강력한 연계를
통해 Source code의 통합 이력 관리
및 자동화 빌드 / 배포를 보다
원활하게 구성
I n t e g r a t i o n s
[제품소개 및 다운로드]
https://ko.atlassian.com/software/bitbucket
P r i v i l e g e
PRODUCT - BAMBOO
세밀한 권한 관리
기본 제공되는 엔터프라이즈 급의
권한 관리 기능으로
자동화 작업에 대한
보다 세밀한 권한 통제
CI / CD
지속적인 빌드 및 배포를 통해
보다 빠른 문제의 해결 및
보다 강력하고 진보된
자동화 환경 제공
C o n t i n u o u s J o b
다양한 Agent 관리
기본 빌드 및 배포용 장비부터
Amazon EC2와 같은 Public Cloud
환경의 Agent까지 다양한 Agent
환경을 구성 가능
M u l t i A g e n t s
통합 Workflow
Jira 및 Bitbucket과 강력한 연계를
통해 고객 사에 최적화 된
Workflow의 절차에 따라
Source code의 통합 자동화 빌드 /
테스트 / 배포 기능을 구성
J o b W o r k f l o w
[제품소개 및 다운로드]
https://ko.atlassian.com/software/bamboo
P r i v i l e g e
STEP 1. 개발 작업 등록
• Jira software에 작업을 등록
STEP 2. 개발 시작
① Jira software에 등록 된 작업 항목에서 개발 Source의 Branch를 생성
※생성 시 작업 상태가 자동으로 변경
STEP 2. 개발 시작
② Bitbucket에 생성 된 Source의 Branch를 내려받기 (Sourcetree 사용)
STEP 3. 개발 진행
① 개발 진행 및 Commit
STEP 3. 개발 진행
② Commit 된 내용을 Bitbucket에 Push
STEP 3. 개발 진행
③ Bitbucket의 Pull request 를 통해 개발 Branch를 Master Branch에 통합
Code review
Merge
STEP 3. 개발 진행
④ Bitbucket의 Pull request 진행 완료 시 Jira의 작업을 완료 상태로 자동 변경
※진행 된 모든 개발 작업
이력은 Jira의 업무 상세
내용에 자동으로 연결
STEP 4. 빌드/배포
① Jira software에서 배포 할 버전을 선택하여 Bamboo 를 통해 배포
STEP 4. 빌드/배포
② 배포 내역 조회 및 자동 Release note 생성 조회
SUMMARY
• DevOps는 개발과 운영 간의 유기적 연계를 통해 Agile 방식의 업무를 수행
• 연계와 자동화를 통해 업무 생산성을 향상
• 각 환경에 알맞은 구성은 조직의 특성 감안 필요
• Atlassian 제품을 활용하여 별도의 Customizing 없이 기본적인 DevOps 환경 구성이 가능
• 단순 자동화 기능 보다는 업무 프로세스 및 문화가 중요
감사합니다.
End of Document

More Related Content

[AIS 2018][Team Tools_Basic] Atlassian 제품 기반의 DevOps 구성 - 투씨드

  • 2. 박 재 석 | 대 표 | ㈜ 투 씨 드 Atlassian 제품 기반 DevOps Jira + Bitbucket + Bamboo
  • 4. • Development 와 Operations 의 합성어로 개발자와 운영 및 관련자 간의 의사 소통, 협업, 융합 을 강조한 소프트웨어 개발 방법론 • Agile을 운영으로 확장 • 능률적인 프로세스 적용 및 도구를 활용하여 Life cycle의 효율화 • 경험과 문화를 기반으로 하는 업무 방법론 DEVOPS [출처: http://en.wikipedia.org/wiki/DevOps#Devops_Days]
  • 9. ATLASSIAN 제품을 활용한 WORKFLOW 구성 예시 User CI/CDVersion Control Developer Repository Bamboo Server Trigger Commit Test Build Deploy Extension Code Analysis & Test Build Deploy Extension Developer Source code Binary Issue tracking Trigger Process 등록 개발 배포 Shell / Batch QA PM Operator Collaboration
  • 11. HOW? • 올바른 범주의 설정 • Practice에 대한 맹목적 추구 보다는 현실의 개선 • 무리한 진행 보다는 단계적 접근 • 사람이 할 일과 시스템이 할 일에 대한 구분 • 문화와 인식의 변화
  • 12. Agenda Atlassian 제품 기반의 DevOps 구성
  • 13. CONCEPT • Atlassian 제품을 활용한 DevOps 기본 구성 • Jira software / Bitbucket / Bamboo 세 가지 제품으로 구성 된 개발 사이클 구성 예시 • 구성 및 전개 방안 개발 PM/PL 개발 담당자 개발/검증 배포 담당자 1.개발 작업 접수 - 개발 항목 등록 2.개발 시작 - Branch 생성 - Source 받기 3.개발 진행 - Source 변경/반영 - Pull request 3.빌드/배포 - 배포
  • 14. PRODUCT – JIRA SOFTWARE 다양한 보고서 다양한 양식의 보고서를 제공하여 진행 되는 업무를 효율적으로 관리 Process 관리 조직에 필요한 Workflow 및 Field의 구성을 통해 Process를 관리하고 이를 계획 / 추적 P r o c e s s M a n a g e Agile 구성 스크럼과 칸반 또는 혼합 등 다양한 형태 및 규모의 조직에 적합하게 구성이 가능한 Agile Project 관리 도구 A g i l e P l a t f o r m 업무 환경의 통합 Confluence 및 Hipchat, BitBucket 등 Atlassian의 다양한 제품 및 SVN,Jenkins 등 다양한 도구와의 연계를 지원하여 통합 업무 환경을 구성하고 다양한 Add-on을 통해 확장 기능을 구성 I n t e g r a t i o n [제품소개 및 다운로드] https://ko.atlassian.com/software/jira
  • 15. PRODUCT - BITBUCKET 강력한 권한 통제 Bitbucket의 강력한 Branch 권한 및 프로젝트 권한 관리 기능으로 보다 강력한 권한 통제 Git 기반의 소스관리 가장 범용적인 Git 기반의 개발 소스 관리 환경을 기반으로 강력한 확장성을 제공하는 협업형 Git 솔루션 D V C S 편리한 Code 검색 시맨틱 검색을 기본 포함하여 편리한 코드 검색 환경 제공 S e a r c h i n g Atlassian 제품 통합 Jira 및 Bamboo와 강력한 연계를 통해 Source code의 통합 이력 관리 및 자동화 빌드 / 배포를 보다 원활하게 구성 I n t e g r a t i o n s [제품소개 및 다운로드] https://ko.atlassian.com/software/bitbucket P r i v i l e g e
  • 16. PRODUCT - BAMBOO 세밀한 권한 관리 기본 제공되는 엔터프라이즈 급의 권한 관리 기능으로 자동화 작업에 대한 보다 세밀한 권한 통제 CI / CD 지속적인 빌드 및 배포를 통해 보다 빠른 문제의 해결 및 보다 강력하고 진보된 자동화 환경 제공 C o n t i n u o u s J o b 다양한 Agent 관리 기본 빌드 및 배포용 장비부터 Amazon EC2와 같은 Public Cloud 환경의 Agent까지 다양한 Agent 환경을 구성 가능 M u l t i A g e n t s 통합 Workflow Jira 및 Bitbucket과 강력한 연계를 통해 고객 사에 최적화 된 Workflow의 절차에 따라 Source code의 통합 자동화 빌드 / 테스트 / 배포 기능을 구성 J o b W o r k f l o w [제품소개 및 다운로드] https://ko.atlassian.com/software/bamboo P r i v i l e g e
  • 17. STEP 1. 개발 작업 등록 • Jira software에 작업을 등록
  • 18. STEP 2. 개발 시작 ① Jira software에 등록 된 작업 항목에서 개발 Source의 Branch를 생성 ※생성 시 작업 상태가 자동으로 변경
  • 19. STEP 2. 개발 시작 ② Bitbucket에 생성 된 Source의 Branch를 내려받기 (Sourcetree 사용)
  • 20. STEP 3. 개발 진행 ① 개발 진행 및 Commit
  • 21. STEP 3. 개발 진행 ② Commit 된 내용을 Bitbucket에 Push
  • 22. STEP 3. 개발 진행 ③ Bitbucket의 Pull request 를 통해 개발 Branch를 Master Branch에 통합 Code review Merge
  • 23. STEP 3. 개발 진행 ④ Bitbucket의 Pull request 진행 완료 시 Jira의 작업을 완료 상태로 자동 변경 ※진행 된 모든 개발 작업 이력은 Jira의 업무 상세 내용에 자동으로 연결
  • 24. STEP 4. 빌드/배포 ① Jira software에서 배포 할 버전을 선택하여 Bamboo 를 통해 배포
  • 25. STEP 4. 빌드/배포 ② 배포 내역 조회 및 자동 Release note 생성 조회
  • 26. SUMMARY • DevOps는 개발과 운영 간의 유기적 연계를 통해 Agile 방식의 업무를 수행 • 연계와 자동화를 통해 업무 생산성을 향상 • 각 환경에 알맞은 구성은 조직의 특성 감안 필요 • Atlassian 제품을 활용하여 별도의 Customizing 없이 기본적인 DevOps 환경 구성이 가능 • 단순 자동화 기능 보다는 업무 프로세스 및 문화가 중요