SlideShare una empresa de Scribd logo
1 de 39
Descargar para leer sin conexión
Atlassian Cloud 제품을 이용한
DevOps 프로세스 구축
Contents
DevOps란?
01
Repository와 Jira의 연동
02
Bitbucket Cloud를 통한 소스 배포
03
Jira Automation을 통한 DevOps 구축
04
CI/CD 프로세스 구성도
DevOps란?
What is DevOps?
• 현대 소프트웨어 개발 용어로 디지털 제품을 생산하는 모든 팀에 적용 가능
• 전반적인 목표는 최상의 성과를 달성하는 것
• 고객에게 높은 가치를 신속하게 제공
• Apply to :
• organizational structure
• culture
• practices
• tool
Dev vs. Ops – 관점의 차이
• 개발팀과 운영팀의 분리
• 개발팀은 신규 서비스를 개발
• 운영팀은 서비스를 배포하고 운영
• 팀들간의 이해가 상충
• 개발팀은 결과물의 양과 혁신의 속도에 중점
• 운영팀은 안정성에 중점
DevOps의 4가지 주요 지표
• 처리량과 관련된 2가지 항목(Dev):
• Delivery lead time(cycle time) – 작업의 시작부터 생산까지의 시간
• Deployment frequency – 배포하는 빈도 수
• 안정성과 관련된 2가지 항목(Ops):
• Change failure rate – 취소 또는 신속하게 수정해야하는 변경 사항의 비율
• Mean time to recovery (MTTR) – 문제가 발생한 시작부터 해결까지의 시간
Atlassian DevOps 관련 제품
Atlassian DevOps 관련 정보에 대한 화면
• 서로 다른 DevOps Tool에 대한 정보를 통합하여 표시
• 지속적인 개선을 위한 Insight 제공
Repository와 Jira의 연동
Repositories
• 프로젝트의 파일과 폴더는 Git Repository에 저장
• Local repository – 파일 및 폴더가 내 컴퓨터에 위치
• Remote repository – 파일 및 폴더가 서버에 위치
• ex) Bitbucket, GitHub, GitLab
Jira를 통한 개발 작업 내역 보기
• Jira의 이슈에는 개발 작업과 관련된 내역이 표기됨
• Jira는 Bitbucket, GitLab, GitHub과 같은 Git Repository를 통합 가능
• 개발 작업 내역이 표기된 영역을 Development panel이라 부름
Jira 이슈를 통한 개발 내역 상세 보기
• Jira에서 개발 정보 클릭 시
Repository의 상세 내역이
팝업 창으로 표출
• 팝업 창에서 Commit 내역
클릭 시 Bitbucket의
Repository 화면으로 이동
Jira와 Git repository 통합의 장점
• Jira issue와 관련 개발 작업을 안정적으로 연결
• 개발 진행 상황에 따라 자동으로 Jira의 이슈 업데이트
• 작업에 대한 진행 상황을 팀원들에게 알림
• 개발자는 Jira issue 업데이트 없이 Tool에서
개발작업을 진행
• DevOps 프로세스 개선을 위한 Insight 제공
Jira의 Code 화면
• Jira 프로젝트에 연결된
repository를 표시
• 다양한 솔루션의 여러 repository를
추가 할 수 있음
• 예) GitHub, GitLab, Bitbucket
repository 연결
• repository가 연결되면 Jira에서
commit, branch 생성, pull
request 내역 확인 가능
• branch명, commit 메세지, pull
request 생성 시 이슈 키를
맵핑하여 사용
Jira issue에서 repository branch 생성
• Jira가 repository와 통합되면
Jira issue 보기 화면에 branch를
생성 할 수 있음
• Jira issue에서 개발 작업을
시작할 수 있는 편리함이 있음
branch 생성
• Jira issue key는 branch명에
포함되어 있음
• Jira issue와 repository를
연결하는 작업
• branch명에 Jira issue 제목이 포함 됨
Bitbucket에서 branch 화면
• 개발자는 Bitbucket 또는 개발
Tool을 통해 branch에 대한
작업 가능
Commit 생성
• bitbucket을 사용해서
repository 파일 및 commit
생성, 삭제 또는 업데이트를 함
Commit 메세지에 이슈키를 포함
• commit 메세지에 issue key를
포함하면 issue 보기화면에
commit 내역이 표시 됨
• commit 링크를 클릭하면 Jira
화면을 종료하지 않고 commit
정보를 확인 할 수 있음
Bitbucket Cloud를 통한 소스 배포
지속적인 통합과 지속적인 배포(CI/CD)
• DevOps의 핵심적인 요소는
CI/CD의 파이프라인
• 배포 파이프라인이라고도 함
• 자동화 항목
• Builds
• Test
• 스테이징 및 운영 환경에 배포
• CI/CD의 목표는 작은 사이즈 단위로
지속적인 배포를 하는 것
파이프라인의 단계
• 크게 두가지 단계로 구분
• Pre-deployment/build
• Deployment
• Pre-deployment 단계 실패 시
파이프라인이 중지 됨
• Pre-deployment 단계 통과 시
스테이징 또는 운영 환경에 배포
진행
Pre-deployment
Deployment
자동 VS. 수동 배포
• 배포 단계에서 자동 또는 수동으로
실행되도록 구성 할 수 있음
• 일반적으로 스테이징 서버 배포는
자동으로 구성
• 운영 배포는 종종 수동으로 구성
• 예를 들면 배포 담당자는
운영에 배포할 시기를 선택 할
수 있음
Automatic
Manual
파이프라인 실행 시점
• 소스 커밋
• pull request 승인
• Automation rule
• 수동으로 실행
Bitbucket 파이프라인 구성
• Bitbucket 파이프라인을 정의하려면
repository의 루트 폴더에
bitbucket-pipelines.yml이라는
텍스트 파일을 저장해야 함
• Bitbucket은 배포 과정을 보다 쉽게
수행 할 수 있도록 템플릿과 UI를
제공 함
bitbucket-pipelines.yml 파일 구성
• 템플릿은 Bitbucket에 의해 자동으로 생성
Pre-deployment/
build
Deployment
bitbucket-pipelines.yml 파일 수동 배포 구성
• trigger:‘manual’ 행을 step에 추가하여
자동 배포에서 수동 배포로 변경
Manual
Manual
파이프라인 트리거 항목 지정
• The default: 해당 라인의 의미는
repository에 대한 commit 실행 시
파이프라인이 시작되는 트리거
• default 대신 branch 명을 지정하여
선택적으로 trigger 가능
build가 실패했을 경우
• 실패한 단계를 시뮬레이션하기 위해 step
항목에 ‘exit 1’ 명령을 사용
• Security scan 단계 Jira가 빌드 실패를 적용
Jira Releases panel
• Jira에서 이슈와 관련된 배포 정보는 이슈의
release panel에 표시 됨
• Jira에 release 상태를 바로 확인 할 수 있음
• CI/CD 도구와 함께 작동하도록 Jira 구성
• commit 메세지, branch명, pull request에
이슈 키 지정
Jira Deployments page
• 배포 페이지에는 프로젝트 이슈에 대한 배포 정보가 표시 됨
배포에 대한 상세 정보 표시
• 타임라인 클릭 시 배포에 대한 상세 정보 확인 가능
Insight 확인
• 배포 빈도와 주기적인 시간 확인 및
과거 내역 확인은 Insight에서 가능
• 지속적인 개선을 위한 가시성 제공
JQL을 사용하여 개발 상태 보기
• repository 및 CI/CD 파이프라인과 같은
연결된 도구의 정보를 JQL 검색을 통해
확인 가능
• Examples:
• pull request가 생성된 모든 이슈
• 현재 운영에 배포되지 않은 모든 이슈
Jira Automation을 통한
DevOps 구축
DevOps Jira Automation 자동화 사용 사례
• 첫 commit 시 이슈 상태를 “진행 중”으로
자동 변경
• CI/CD 빌드가 실패하거나 pull request
생성 시 팀 slack 채널에 알림 전송
DevOps triggers
• repository에 변경을 기준으로 트리거 함

Más contenido relacionado

La actualidad más candente

소프트웨어 아키텍처
소프트웨어 아키텍처소프트웨어 아키텍처
소프트웨어 아키텍처영기 김
 
Open source APM Scouter로 모니터링 잘 하기
Open source APM Scouter로 모니터링 잘 하기Open source APM Scouter로 모니터링 잘 하기
Open source APM Scouter로 모니터링 잘 하기GunHee Lee
 
장애 관리 방안
장애 관리 방안장애 관리 방안
장애 관리 방안Junho Lee
 
대용량 분산 아키텍쳐 설계 #3 대용량 분산 시스템 아키텍쳐
대용량 분산 아키텍쳐 설계 #3 대용량 분산 시스템 아키텍쳐대용량 분산 아키텍쳐 설계 #3 대용량 분산 시스템 아키텍쳐
대용량 분산 아키텍쳐 설계 #3 대용량 분산 시스템 아키텍쳐Terry Cho
 
[2018] NHN 모니터링의 현재와 미래 for 인프라 엔지니어
[2018] NHN 모니터링의 현재와 미래 for 인프라 엔지니어[2018] NHN 모니터링의 현재와 미래 for 인프라 엔지니어
[2018] NHN 모니터링의 현재와 미래 for 인프라 엔지니어NHN FORWARD
 
CI / CD ( 지속적인 통합 / 지속적인 전달 ) 발표 자료 다운로드
CI / CD ( 지속적인 통합 / 지속적인 전달 ) 발표 자료 다운로드CI / CD ( 지속적인 통합 / 지속적인 전달 ) 발표 자료 다운로드
CI / CD ( 지속적인 통합 / 지속적인 전달 ) 발표 자료 다운로드Opennaru, inc.
 
개발이 테스트를 만났을 때(Shift left testing)
개발이 테스트를 만났을 때(Shift left testing)개발이 테스트를 만났을 때(Shift left testing)
개발이 테스트를 만났을 때(Shift left testing)SangIn Choung
 
웹 프로그래밍 팀프로젝트 최종발표
웹 프로그래밍 팀프로젝트 최종발표웹 프로그래밍 팀프로젝트 최종발표
웹 프로그래밍 팀프로젝트 최종발표Seong Heum Park
 
3. 마이크로 서비스 아키텍쳐
3. 마이크로 서비스 아키텍쳐3. 마이크로 서비스 아키텍쳐
3. 마이크로 서비스 아키텍쳐Terry Cho
 
[오픈소스컨설팅]쿠버네티스를 활용한 개발환경 구축
[오픈소스컨설팅]쿠버네티스를 활용한 개발환경 구축[오픈소스컨설팅]쿠버네티스를 활용한 개발환경 구축
[오픈소스컨설팅]쿠버네티스를 활용한 개발환경 구축Ji-Woong Choi
 
SW 아키텍처 분석방법
SW 아키텍처 분석방법 SW 아키텍처 분석방법
SW 아키텍처 분석방법 YoungSu Son
 
대용량 분산 아키텍쳐 설계 #1 아키텍쳐 설계 방법론
대용량 분산 아키텍쳐 설계 #1 아키텍쳐 설계 방법론대용량 분산 아키텍쳐 설계 #1 아키텍쳐 설계 방법론
대용량 분산 아키텍쳐 설계 #1 아키텍쳐 설계 방법론Terry Cho
 
AWS Aurora 100% 활용하기
AWS Aurora 100% 활용하기AWS Aurora 100% 활용하기
AWS Aurora 100% 활용하기I Goo Lee
 
대용량 분산 아키텍쳐 설계 #4. soa 아키텍쳐
대용량 분산 아키텍쳐 설계 #4. soa 아키텍쳐대용량 분산 아키텍쳐 설계 #4. soa 아키텍쳐
대용량 분산 아키텍쳐 설계 #4. soa 아키텍쳐Terry Cho
 
예외처리가이드
예외처리가이드예외처리가이드
예외처리가이드도형 임
 
Real-time Data Processing with Amazon DynamoDB Streams and AWS Lambda
Real-time Data Processing with Amazon DynamoDB Streams and AWS LambdaReal-time Data Processing with Amazon DynamoDB Streams and AWS Lambda
Real-time Data Processing with Amazon DynamoDB Streams and AWS LambdaAmazon Web Services
 
[DEVIEW 2021] 1000만 글로벌 유저를 지탱하는 기술과 사람들
[DEVIEW 2021] 1000만 글로벌 유저를 지탱하는 기술과 사람들[DEVIEW 2021] 1000만 글로벌 유저를 지탱하는 기술과 사람들
[DEVIEW 2021] 1000만 글로벌 유저를 지탱하는 기술과 사람들Brian Hong
 
CI CD Pipeline Using Jenkins | Continuous Integration and Deployment | DevOps...
CI CD Pipeline Using Jenkins | Continuous Integration and Deployment | DevOps...CI CD Pipeline Using Jenkins | Continuous Integration and Deployment | DevOps...
CI CD Pipeline Using Jenkins | Continuous Integration and Deployment | DevOps...Edureka!
 
Red Hat Ansible 적용 사례
Red Hat Ansible 적용 사례Red Hat Ansible 적용 사례
Red Hat Ansible 적용 사례Opennaru, inc.
 
AWS와 부하테스트의 절묘한 만남 :: 김무현 솔루션즈 아키텍트 :: Gaming on AWS 2016
AWS와 부하테스트의 절묘한 만남 :: 김무현 솔루션즈 아키텍트 :: Gaming on AWS 2016AWS와 부하테스트의 절묘한 만남 :: 김무현 솔루션즈 아키텍트 :: Gaming on AWS 2016
AWS와 부하테스트의 절묘한 만남 :: 김무현 솔루션즈 아키텍트 :: Gaming on AWS 2016Amazon Web Services Korea
 

La actualidad más candente (20)

소프트웨어 아키텍처
소프트웨어 아키텍처소프트웨어 아키텍처
소프트웨어 아키텍처
 
Open source APM Scouter로 모니터링 잘 하기
Open source APM Scouter로 모니터링 잘 하기Open source APM Scouter로 모니터링 잘 하기
Open source APM Scouter로 모니터링 잘 하기
 
장애 관리 방안
장애 관리 방안장애 관리 방안
장애 관리 방안
 
대용량 분산 아키텍쳐 설계 #3 대용량 분산 시스템 아키텍쳐
대용량 분산 아키텍쳐 설계 #3 대용량 분산 시스템 아키텍쳐대용량 분산 아키텍쳐 설계 #3 대용량 분산 시스템 아키텍쳐
대용량 분산 아키텍쳐 설계 #3 대용량 분산 시스템 아키텍쳐
 
[2018] NHN 모니터링의 현재와 미래 for 인프라 엔지니어
[2018] NHN 모니터링의 현재와 미래 for 인프라 엔지니어[2018] NHN 모니터링의 현재와 미래 for 인프라 엔지니어
[2018] NHN 모니터링의 현재와 미래 for 인프라 엔지니어
 
CI / CD ( 지속적인 통합 / 지속적인 전달 ) 발표 자료 다운로드
CI / CD ( 지속적인 통합 / 지속적인 전달 ) 발표 자료 다운로드CI / CD ( 지속적인 통합 / 지속적인 전달 ) 발표 자료 다운로드
CI / CD ( 지속적인 통합 / 지속적인 전달 ) 발표 자료 다운로드
 
개발이 테스트를 만났을 때(Shift left testing)
개발이 테스트를 만났을 때(Shift left testing)개발이 테스트를 만났을 때(Shift left testing)
개발이 테스트를 만났을 때(Shift left testing)
 
웹 프로그래밍 팀프로젝트 최종발표
웹 프로그래밍 팀프로젝트 최종발표웹 프로그래밍 팀프로젝트 최종발표
웹 프로그래밍 팀프로젝트 최종발표
 
3. 마이크로 서비스 아키텍쳐
3. 마이크로 서비스 아키텍쳐3. 마이크로 서비스 아키텍쳐
3. 마이크로 서비스 아키텍쳐
 
[오픈소스컨설팅]쿠버네티스를 활용한 개발환경 구축
[오픈소스컨설팅]쿠버네티스를 활용한 개발환경 구축[오픈소스컨설팅]쿠버네티스를 활용한 개발환경 구축
[오픈소스컨설팅]쿠버네티스를 활용한 개발환경 구축
 
SW 아키텍처 분석방법
SW 아키텍처 분석방법 SW 아키텍처 분석방법
SW 아키텍처 분석방법
 
대용량 분산 아키텍쳐 설계 #1 아키텍쳐 설계 방법론
대용량 분산 아키텍쳐 설계 #1 아키텍쳐 설계 방법론대용량 분산 아키텍쳐 설계 #1 아키텍쳐 설계 방법론
대용량 분산 아키텍쳐 설계 #1 아키텍쳐 설계 방법론
 
AWS Aurora 100% 활용하기
AWS Aurora 100% 활용하기AWS Aurora 100% 활용하기
AWS Aurora 100% 활용하기
 
대용량 분산 아키텍쳐 설계 #4. soa 아키텍쳐
대용량 분산 아키텍쳐 설계 #4. soa 아키텍쳐대용량 분산 아키텍쳐 설계 #4. soa 아키텍쳐
대용량 분산 아키텍쳐 설계 #4. soa 아키텍쳐
 
예외처리가이드
예외처리가이드예외처리가이드
예외처리가이드
 
Real-time Data Processing with Amazon DynamoDB Streams and AWS Lambda
Real-time Data Processing with Amazon DynamoDB Streams and AWS LambdaReal-time Data Processing with Amazon DynamoDB Streams and AWS Lambda
Real-time Data Processing with Amazon DynamoDB Streams and AWS Lambda
 
[DEVIEW 2021] 1000만 글로벌 유저를 지탱하는 기술과 사람들
[DEVIEW 2021] 1000만 글로벌 유저를 지탱하는 기술과 사람들[DEVIEW 2021] 1000만 글로벌 유저를 지탱하는 기술과 사람들
[DEVIEW 2021] 1000만 글로벌 유저를 지탱하는 기술과 사람들
 
CI CD Pipeline Using Jenkins | Continuous Integration and Deployment | DevOps...
CI CD Pipeline Using Jenkins | Continuous Integration and Deployment | DevOps...CI CD Pipeline Using Jenkins | Continuous Integration and Deployment | DevOps...
CI CD Pipeline Using Jenkins | Continuous Integration and Deployment | DevOps...
 
Red Hat Ansible 적용 사례
Red Hat Ansible 적용 사례Red Hat Ansible 적용 사례
Red Hat Ansible 적용 사례
 
AWS와 부하테스트의 절묘한 만남 :: 김무현 솔루션즈 아키텍트 :: Gaming on AWS 2016
AWS와 부하테스트의 절묘한 만남 :: 김무현 솔루션즈 아키텍트 :: Gaming on AWS 2016AWS와 부하테스트의 절묘한 만남 :: 김무현 솔루션즈 아키텍트 :: Gaming on AWS 2016
AWS와 부하테스트의 절묘한 만남 :: 김무현 솔루션즈 아키텍트 :: Gaming on AWS 2016
 

Similar a Atlassian cloud 제품을 이용한 DevOps 프로세스 구축: Jira Cloud, Bitbucket Cloud

[AIS 2018][Team Tools_Basic] Atlassian 제품 기반의 DevOps 구성 - 투씨드
[AIS 2018][Team Tools_Basic] Atlassian 제품 기반의 DevOps 구성 - 투씨드[AIS 2018][Team Tools_Basic] Atlassian 제품 기반의 DevOps 구성 - 투씨드
[AIS 2018][Team Tools_Basic] Atlassian 제품 기반의 DevOps 구성 - 투씨드Atlassian 대한민국
 
GitLab과 Kubernetes를 통한 CI/CD 구축
GitLab과 Kubernetes를 통한 CI/CD 구축GitLab과 Kubernetes를 통한 CI/CD 구축
GitLab과 Kubernetes를 통한 CI/CD 구축철구 김
 
코드로 인프라 관리하기 - 자동화 툴 소개
코드로 인프라 관리하기 - 자동화 툴 소개코드로 인프라 관리하기 - 자동화 툴 소개
코드로 인프라 관리하기 - 자동화 툴 소개태준 문
 
Git의 기초 및 Bitbucket을 이용한 Git 코드 협업 - Twoseed
Git의 기초 및 Bitbucket을 이용한 Git 코드 협업 - TwoseedGit의 기초 및 Bitbucket을 이용한 Git 코드 협업 - Twoseed
Git의 기초 및 Bitbucket을 이용한 Git 코드 협업 - TwoseedAtlassian 대한민국
 
Spring Camp 2017 - DevOps for everyone
Spring Camp 2017 - DevOps for everyoneSpring Camp 2017 - DevOps for everyone
Spring Camp 2017 - DevOps for everyoneJin Gi Kong
 
ALM과 DevOps 그리고 Azure DevOps
ALM과 DevOps 그리고 Azure DevOpsALM과 DevOps 그리고 Azure DevOps
ALM과 DevOps 그리고 Azure DevOpsTaeyoung Kim
 
About Git_2017.08.31 aug 투씨드 (박재석)
About Git_2017.08.31 aug 투씨드 (박재석)About Git_2017.08.31 aug 투씨드 (박재석)
About Git_2017.08.31 aug 투씨드 (박재석)Jaeseok Park
 
효과적인 데브옵스를 위한 AWS 개발 도구 활용하기 - AWS Summit Seoul 2017
효과적인 데브옵스를 위한 AWS 개발 도구 활용하기 - AWS Summit Seoul 2017효과적인 데브옵스를 위한 AWS 개발 도구 활용하기 - AWS Summit Seoul 2017
효과적인 데브옵스를 위한 AWS 개발 도구 활용하기 - AWS Summit Seoul 2017Amazon Web Services Korea
 
DevOps 시대의 새로운 Role - Full Cycle Developer
DevOps 시대의 새로운 Role - Full Cycle DeveloperDevOps 시대의 새로운 Role - Full Cycle Developer
DevOps 시대의 새로운 Role - Full Cycle Developer창훈 현
 
오픈소스 프로젝트 따라잡기_공개
오픈소스 프로젝트 따라잡기_공개오픈소스 프로젝트 따라잡기_공개
오픈소스 프로젝트 따라잡기_공개Hyoungjun Kim
 
[Atlassian in 부산]Git을 이용한 형상관리 전략_투씨드
[Atlassian in 부산]Git을 이용한 형상관리 전략_투씨드[Atlassian in 부산]Git을 이용한 형상관리 전략_투씨드
[Atlassian in 부산]Git을 이용한 형상관리 전략_투씨드Atlassian 대한민국
 
Travis-ci를 이용한 CI/CD와 도커를 이용한 Jenkins for Android 구성하기
Travis-ci를 이용한 CI/CD와 도커를 이용한 Jenkins for Android 구성하기Travis-ci를 이용한 CI/CD와 도커를 이용한 Jenkins for Android 구성하기
Travis-ci를 이용한 CI/CD와 도커를 이용한 Jenkins for Android 구성하기인수 장
 
성장하는 스타트업의 프로세스 개척기
성장하는 스타트업의 프로세스 개척기성장하는 스타트업의 프로세스 개척기
성장하는 스타트업의 프로세스 개척기DomainDriven DomainDriven
 
2022.08 멘토링 자료.pptx
2022.08 멘토링 자료.pptx2022.08 멘토링 자료.pptx
2022.08 멘토링 자료.pptxssuserf875e6
 
MVC, MVVM, ReactorKit, VIPER를 거쳐 RIB 정착기
MVC, MVVM, ReactorKit, VIPER를 거쳐 RIB 정착기MVC, MVVM, ReactorKit, VIPER를 거쳐 RIB 정착기
MVC, MVVM, ReactorKit, VIPER를 거쳐 RIB 정착기정민 안
 
Travis CI 에서 CodeBuild 로
Travis CI 에서 CodeBuild 로Travis CI 에서 CodeBuild 로
Travis CI 에서 CodeBuild 로Hyeon Ku Kang
 
github actions kubernetes 설치&운영하기
github actions kubernetes 설치&운영하기github actions kubernetes 설치&운영하기
github actions kubernetes 설치&운영하기newdeal2
 
IBM Bluemix handson lab_DevOps_Target_Deploy_configutation_java_petclinic_v1.0
IBM Bluemix handson lab_DevOps_Target_Deploy_configutation_java_petclinic_v1.0IBM Bluemix handson lab_DevOps_Target_Deploy_configutation_java_petclinic_v1.0
IBM Bluemix handson lab_DevOps_Target_Deploy_configutation_java_petclinic_v1.0Beomsik Kyle Kim
 
Meetup tools for-cloud_native_apps_meetup20180510-vs
Meetup tools for-cloud_native_apps_meetup20180510-vsMeetup tools for-cloud_native_apps_meetup20180510-vs
Meetup tools for-cloud_native_apps_meetup20180510-vsminseok kim
 

Similar a Atlassian cloud 제품을 이용한 DevOps 프로세스 구축: Jira Cloud, Bitbucket Cloud (20)

[AIS 2018][Team Tools_Basic] Atlassian 제품 기반의 DevOps 구성 - 투씨드
[AIS 2018][Team Tools_Basic] Atlassian 제품 기반의 DevOps 구성 - 투씨드[AIS 2018][Team Tools_Basic] Atlassian 제품 기반의 DevOps 구성 - 투씨드
[AIS 2018][Team Tools_Basic] Atlassian 제품 기반의 DevOps 구성 - 투씨드
 
GitLab과 Kubernetes를 통한 CI/CD 구축
GitLab과 Kubernetes를 통한 CI/CD 구축GitLab과 Kubernetes를 통한 CI/CD 구축
GitLab과 Kubernetes를 통한 CI/CD 구축
 
코드로 인프라 관리하기 - 자동화 툴 소개
코드로 인프라 관리하기 - 자동화 툴 소개코드로 인프라 관리하기 - 자동화 툴 소개
코드로 인프라 관리하기 - 자동화 툴 소개
 
Git의 기초 및 Bitbucket을 이용한 Git 코드 협업 - Twoseed
Git의 기초 및 Bitbucket을 이용한 Git 코드 협업 - TwoseedGit의 기초 및 Bitbucket을 이용한 Git 코드 협업 - Twoseed
Git의 기초 및 Bitbucket을 이용한 Git 코드 협업 - Twoseed
 
Spring Camp 2017 - DevOps for everyone
Spring Camp 2017 - DevOps for everyoneSpring Camp 2017 - DevOps for everyone
Spring Camp 2017 - DevOps for everyone
 
ALM과 DevOps 그리고 Azure DevOps
ALM과 DevOps 그리고 Azure DevOpsALM과 DevOps 그리고 Azure DevOps
ALM과 DevOps 그리고 Azure DevOps
 
About Git_2017.08.31 aug 투씨드 (박재석)
About Git_2017.08.31 aug 투씨드 (박재석)About Git_2017.08.31 aug 투씨드 (박재석)
About Git_2017.08.31 aug 투씨드 (박재석)
 
효과적인 데브옵스를 위한 AWS 개발 도구 활용하기 - AWS Summit Seoul 2017
효과적인 데브옵스를 위한 AWS 개발 도구 활용하기 - AWS Summit Seoul 2017효과적인 데브옵스를 위한 AWS 개발 도구 활용하기 - AWS Summit Seoul 2017
효과적인 데브옵스를 위한 AWS 개발 도구 활용하기 - AWS Summit Seoul 2017
 
DevOps 시대의 새로운 Role - Full Cycle Developer
DevOps 시대의 새로운 Role - Full Cycle DeveloperDevOps 시대의 새로운 Role - Full Cycle Developer
DevOps 시대의 새로운 Role - Full Cycle Developer
 
오픈소스 프로젝트 따라잡기_공개
오픈소스 프로젝트 따라잡기_공개오픈소스 프로젝트 따라잡기_공개
오픈소스 프로젝트 따라잡기_공개
 
[Atlassian in 부산]Git을 이용한 형상관리 전략_투씨드
[Atlassian in 부산]Git을 이용한 형상관리 전략_투씨드[Atlassian in 부산]Git을 이용한 형상관리 전략_투씨드
[Atlassian in 부산]Git을 이용한 형상관리 전략_투씨드
 
Travis-ci를 이용한 CI/CD와 도커를 이용한 Jenkins for Android 구성하기
Travis-ci를 이용한 CI/CD와 도커를 이용한 Jenkins for Android 구성하기Travis-ci를 이용한 CI/CD와 도커를 이용한 Jenkins for Android 구성하기
Travis-ci를 이용한 CI/CD와 도커를 이용한 Jenkins for Android 구성하기
 
성장하는 스타트업의 프로세스 개척기
성장하는 스타트업의 프로세스 개척기성장하는 스타트업의 프로세스 개척기
성장하는 스타트업의 프로세스 개척기
 
2022.08 멘토링 자료.pptx
2022.08 멘토링 자료.pptx2022.08 멘토링 자료.pptx
2022.08 멘토링 자료.pptx
 
DevOps - Mousoft
DevOps - MousoftDevOps - Mousoft
DevOps - Mousoft
 
MVC, MVVM, ReactorKit, VIPER를 거쳐 RIB 정착기
MVC, MVVM, ReactorKit, VIPER를 거쳐 RIB 정착기MVC, MVVM, ReactorKit, VIPER를 거쳐 RIB 정착기
MVC, MVVM, ReactorKit, VIPER를 거쳐 RIB 정착기
 
Travis CI 에서 CodeBuild 로
Travis CI 에서 CodeBuild 로Travis CI 에서 CodeBuild 로
Travis CI 에서 CodeBuild 로
 
github actions kubernetes 설치&운영하기
github actions kubernetes 설치&운영하기github actions kubernetes 설치&운영하기
github actions kubernetes 설치&운영하기
 
IBM Bluemix handson lab_DevOps_Target_Deploy_configutation_java_petclinic_v1.0
IBM Bluemix handson lab_DevOps_Target_Deploy_configutation_java_petclinic_v1.0IBM Bluemix handson lab_DevOps_Target_Deploy_configutation_java_petclinic_v1.0
IBM Bluemix handson lab_DevOps_Target_Deploy_configutation_java_petclinic_v1.0
 
Meetup tools for-cloud_native_apps_meetup20180510-vs
Meetup tools for-cloud_native_apps_meetup20180510-vsMeetup tools for-cloud_native_apps_meetup20180510-vs
Meetup tools for-cloud_native_apps_meetup20180510-vs
 

Más de Open Source Consulting

클라우드 네이티브 전환 요소 및 성공적인 쿠버네티스 도입 전략
클라우드 네이티브 전환 요소 및 성공적인 쿠버네티스 도입 전략클라우드 네이티브 전환 요소 및 성공적인 쿠버네티스 도입 전략
클라우드 네이티브 전환 요소 및 성공적인 쿠버네티스 도입 전략Open Source Consulting
 
[기술 트렌드] Gartner 선정 10대 전략 기술
[기술 트렌드] Gartner 선정 10대 전략 기술[기술 트렌드] Gartner 선정 10대 전략 기술
[기술 트렌드] Gartner 선정 10대 전략 기술Open Source Consulting
 
[오픈테크넷서밋2022] 국내 PaaS(Kubernetes) Best Practice 및 DevOps 환경 구축 사례.pdf
[오픈테크넷서밋2022] 국내 PaaS(Kubernetes) Best Practice 및 DevOps 환경 구축 사례.pdf[오픈테크넷서밋2022] 국내 PaaS(Kubernetes) Best Practice 및 DevOps 환경 구축 사례.pdf
[오픈테크넷서밋2022] 국내 PaaS(Kubernetes) Best Practice 및 DevOps 환경 구축 사례.pdfOpen Source Consulting
 
쿠버네티스 기반 PaaS 솔루션 - Playce Kube를 소개합니다.
쿠버네티스 기반 PaaS 솔루션 - Playce Kube를 소개합니다.쿠버네티스 기반 PaaS 솔루션 - Playce Kube를 소개합니다.
쿠버네티스 기반 PaaS 솔루션 - Playce Kube를 소개합니다.Open Source Consulting
 
Life science에서 k-agile으로 일하기 : with SAFe(Scaled Agile) & Atlassian
Life science에서 k-agile으로 일하기 : with SAFe(Scaled Agile) & Atlassian Life science에서 k-agile으로 일하기 : with SAFe(Scaled Agile) & Atlassian
Life science에서 k-agile으로 일하기 : with SAFe(Scaled Agile) & Atlassian Open Source Consulting
 
초보자를 위한 네트워크/VLAN 기초
초보자를 위한 네트워크/VLAN 기초초보자를 위한 네트워크/VLAN 기초
초보자를 위한 네트워크/VLAN 기초Open Source Consulting
 
[웨비나] 클라우드 마이그레이션 수행 시 가장 많이 하는 질문 Top 10!
[웨비나] 클라우드 마이그레이션 수행 시 가장 많이 하는 질문 Top 10![웨비나] 클라우드 마이그레이션 수행 시 가장 많이 하는 질문 Top 10!
[웨비나] 클라우드 마이그레이션 수행 시 가장 많이 하는 질문 Top 10!Open Source Consulting
 
[오픈소스컨설팅] EFK Stack 소개와 설치 방법
[오픈소스컨설팅] EFK Stack 소개와 설치 방법[오픈소스컨설팅] EFK Stack 소개와 설치 방법
[오픈소스컨설팅] EFK Stack 소개와 설치 방법Open Source Consulting
 
[오픈소스컨설팅] SELinux : Stop Disabling SELinux
[오픈소스컨설팅] SELinux : Stop Disabling SELinux[오픈소스컨설팅] SELinux : Stop Disabling SELinux
[오픈소스컨설팅] SELinux : Stop Disabling SELinuxOpen Source Consulting
 
[오픈소스컨설팅] 서비스 메쉬(Service mesh)
[오픈소스컨설팅] 서비스 메쉬(Service mesh)[오픈소스컨설팅] 서비스 메쉬(Service mesh)
[오픈소스컨설팅] 서비스 메쉬(Service mesh)Open Source Consulting
 
[오픈소스컨설팅] ARM & OpenStack Community
[오픈소스컨설팅] ARM & OpenStack Community[오픈소스컨설팅] ARM & OpenStack Community
[오픈소스컨설팅] ARM & OpenStack CommunityOpen Source Consulting
 
[오픈소스컨설팅] Linux Network Troubleshooting
[오픈소스컨설팅] Linux Network Troubleshooting[오픈소스컨설팅] Linux Network Troubleshooting
[오픈소스컨설팅] Linux Network TroubleshootingOpen Source Consulting
 
[오픈소스컨설팅] 쿠버네티스와 쿠버네티스 on 오픈스택 비교 및 구축 방법
[오픈소스컨설팅] 쿠버네티스와 쿠버네티스 on 오픈스택 비교  및 구축 방법[오픈소스컨설팅] 쿠버네티스와 쿠버네티스 on 오픈스택 비교  및 구축 방법
[오픈소스컨설팅] 쿠버네티스와 쿠버네티스 on 오픈스택 비교 및 구축 방법Open Source Consulting
 
[열린기술공방] Container기반의 DevOps - 클라우드 네이티브
[열린기술공방] Container기반의 DevOps - 클라우드 네이티브[열린기술공방] Container기반의 DevOps - 클라우드 네이티브
[열린기술공방] Container기반의 DevOps - 클라우드 네이티브Open Source Consulting
 
주 52시간 시대의 Agile_ 오픈소스컨설팅 한진규 이사
주 52시간 시대의 Agile_ 오픈소스컨설팅 한진규 이사주 52시간 시대의 Agile_ 오픈소스컨설팅 한진규 이사
주 52시간 시대의 Agile_ 오픈소스컨설팅 한진규 이사Open Source Consulting
 
[오픈소스컨설팅] jira service desk 201908
[오픈소스컨설팅] jira service desk 201908[오픈소스컨설팅] jira service desk 201908
[오픈소스컨설팅] jira service desk 201908Open Source Consulting
 

Más de Open Source Consulting (20)

클라우드 네이티브 전환 요소 및 성공적인 쿠버네티스 도입 전략
클라우드 네이티브 전환 요소 및 성공적인 쿠버네티스 도입 전략클라우드 네이티브 전환 요소 및 성공적인 쿠버네티스 도입 전략
클라우드 네이티브 전환 요소 및 성공적인 쿠버네티스 도입 전략
 
[기술 트렌드] Gartner 선정 10대 전략 기술
[기술 트렌드] Gartner 선정 10대 전략 기술[기술 트렌드] Gartner 선정 10대 전략 기술
[기술 트렌드] Gartner 선정 10대 전략 기술
 
[오픈테크넷서밋2022] 국내 PaaS(Kubernetes) Best Practice 및 DevOps 환경 구축 사례.pdf
[오픈테크넷서밋2022] 국내 PaaS(Kubernetes) Best Practice 및 DevOps 환경 구축 사례.pdf[오픈테크넷서밋2022] 국내 PaaS(Kubernetes) Best Practice 및 DevOps 환경 구축 사례.pdf
[오픈테크넷서밋2022] 국내 PaaS(Kubernetes) Best Practice 및 DevOps 환경 구축 사례.pdf
 
쿠버네티스 기반 PaaS 솔루션 - Playce Kube를 소개합니다.
쿠버네티스 기반 PaaS 솔루션 - Playce Kube를 소개합니다.쿠버네티스 기반 PaaS 솔루션 - Playce Kube를 소개합니다.
쿠버네티스 기반 PaaS 솔루션 - Playce Kube를 소개합니다.
 
Life science에서 k-agile으로 일하기 : with SAFe(Scaled Agile) & Atlassian
Life science에서 k-agile으로 일하기 : with SAFe(Scaled Agile) & Atlassian Life science에서 k-agile으로 일하기 : with SAFe(Scaled Agile) & Atlassian
Life science에서 k-agile으로 일하기 : with SAFe(Scaled Agile) & Atlassian
 
초보자를 위한 네트워크/VLAN 기초
초보자를 위한 네트워크/VLAN 기초초보자를 위한 네트워크/VLAN 기초
초보자를 위한 네트워크/VLAN 기초
 
[웨비나] 클라우드 마이그레이션 수행 시 가장 많이 하는 질문 Top 10!
[웨비나] 클라우드 마이그레이션 수행 시 가장 많이 하는 질문 Top 10![웨비나] 클라우드 마이그레이션 수행 시 가장 많이 하는 질문 Top 10!
[웨비나] 클라우드 마이그레이션 수행 시 가장 많이 하는 질문 Top 10!
 
[오픈소스컨설팅] EFK Stack 소개와 설치 방법
[오픈소스컨설팅] EFK Stack 소개와 설치 방법[오픈소스컨설팅] EFK Stack 소개와 설치 방법
[오픈소스컨설팅] EFK Stack 소개와 설치 방법
 
[오픈소스컨설팅] SELinux : Stop Disabling SELinux
[오픈소스컨설팅] SELinux : Stop Disabling SELinux[오픈소스컨설팅] SELinux : Stop Disabling SELinux
[오픈소스컨설팅] SELinux : Stop Disabling SELinux
 
[오픈소스컨설팅] 서비스 메쉬(Service mesh)
[오픈소스컨설팅] 서비스 메쉬(Service mesh)[오픈소스컨설팅] 서비스 메쉬(Service mesh)
[오픈소스컨설팅] 서비스 메쉬(Service mesh)
 
[오픈소스컨설팅] ARM & OpenStack Community
[오픈소스컨설팅] ARM & OpenStack Community[오픈소스컨설팅] ARM & OpenStack Community
[오픈소스컨설팅] ARM & OpenStack Community
 
[오픈소스컨설팅] Linux Network Troubleshooting
[오픈소스컨설팅] Linux Network Troubleshooting[오픈소스컨설팅] Linux Network Troubleshooting
[오픈소스컨설팅] Linux Network Troubleshooting
 
[오픈소스컨설팅] 쿠버네티스와 쿠버네티스 on 오픈스택 비교 및 구축 방법
[오픈소스컨설팅] 쿠버네티스와 쿠버네티스 on 오픈스택 비교  및 구축 방법[오픈소스컨설팅] 쿠버네티스와 쿠버네티스 on 오픈스택 비교  및 구축 방법
[오픈소스컨설팅] 쿠버네티스와 쿠버네티스 on 오픈스택 비교 및 구축 방법
 
Atlassian ITSM Case-study
Atlassian ITSM Case-studyAtlassian ITSM Case-study
Atlassian ITSM Case-study
 
[열린기술공방] Container기반의 DevOps - 클라우드 네이티브
[열린기술공방] Container기반의 DevOps - 클라우드 네이티브[열린기술공방] Container기반의 DevOps - 클라우드 네이티브
[열린기술공방] Container기반의 DevOps - 클라우드 네이티브
 
주 52시간 시대의 Agile_ 오픈소스컨설팅 한진규 이사
주 52시간 시대의 Agile_ 오픈소스컨설팅 한진규 이사주 52시간 시대의 Agile_ 오픈소스컨설팅 한진규 이사
주 52시간 시대의 Agile_ 오픈소스컨설팅 한진규 이사
 
Open infra and cloud native
Open infra and cloud nativeOpen infra and cloud native
Open infra and cloud native
 
[오픈소스컨설팅] jira service desk 201908
[오픈소스컨설팅] jira service desk 201908[오픈소스컨설팅] jira service desk 201908
[오픈소스컨설팅] jira service desk 201908
 
Community Openstack 구축 사례
Community Openstack 구축 사례Community Openstack 구축 사례
Community Openstack 구축 사례
 
Ceph issue 해결 사례
Ceph issue 해결 사례Ceph issue 해결 사례
Ceph issue 해결 사례
 

Atlassian cloud 제품을 이용한 DevOps 프로세스 구축: Jira Cloud, Bitbucket Cloud

  • 1. Atlassian Cloud 제품을 이용한 DevOps 프로세스 구축
  • 2. Contents DevOps란? 01 Repository와 Jira의 연동 02 Bitbucket Cloud를 통한 소스 배포 03 Jira Automation을 통한 DevOps 구축 04
  • 5. What is DevOps? • 현대 소프트웨어 개발 용어로 디지털 제품을 생산하는 모든 팀에 적용 가능 • 전반적인 목표는 최상의 성과를 달성하는 것 • 고객에게 높은 가치를 신속하게 제공 • Apply to : • organizational structure • culture • practices • tool
  • 6. Dev vs. Ops – 관점의 차이 • 개발팀과 운영팀의 분리 • 개발팀은 신규 서비스를 개발 • 운영팀은 서비스를 배포하고 운영 • 팀들간의 이해가 상충 • 개발팀은 결과물의 양과 혁신의 속도에 중점 • 운영팀은 안정성에 중점
  • 7. DevOps의 4가지 주요 지표 • 처리량과 관련된 2가지 항목(Dev): • Delivery lead time(cycle time) – 작업의 시작부터 생산까지의 시간 • Deployment frequency – 배포하는 빈도 수 • 안정성과 관련된 2가지 항목(Ops): • Change failure rate – 취소 또는 신속하게 수정해야하는 변경 사항의 비율 • Mean time to recovery (MTTR) – 문제가 발생한 시작부터 해결까지의 시간
  • 9. Atlassian DevOps 관련 정보에 대한 화면 • 서로 다른 DevOps Tool에 대한 정보를 통합하여 표시 • 지속적인 개선을 위한 Insight 제공
  • 11. Repositories • 프로젝트의 파일과 폴더는 Git Repository에 저장 • Local repository – 파일 및 폴더가 내 컴퓨터에 위치 • Remote repository – 파일 및 폴더가 서버에 위치 • ex) Bitbucket, GitHub, GitLab
  • 12. Jira를 통한 개발 작업 내역 보기 • Jira의 이슈에는 개발 작업과 관련된 내역이 표기됨 • Jira는 Bitbucket, GitLab, GitHub과 같은 Git Repository를 통합 가능 • 개발 작업 내역이 표기된 영역을 Development panel이라 부름
  • 13. Jira 이슈를 통한 개발 내역 상세 보기 • Jira에서 개발 정보 클릭 시 Repository의 상세 내역이 팝업 창으로 표출 • 팝업 창에서 Commit 내역 클릭 시 Bitbucket의 Repository 화면으로 이동
  • 14. Jira와 Git repository 통합의 장점 • Jira issue와 관련 개발 작업을 안정적으로 연결 • 개발 진행 상황에 따라 자동으로 Jira의 이슈 업데이트 • 작업에 대한 진행 상황을 팀원들에게 알림 • 개발자는 Jira issue 업데이트 없이 Tool에서 개발작업을 진행 • DevOps 프로세스 개선을 위한 Insight 제공
  • 15. Jira의 Code 화면 • Jira 프로젝트에 연결된 repository를 표시 • 다양한 솔루션의 여러 repository를 추가 할 수 있음 • 예) GitHub, GitLab, Bitbucket
  • 16. repository 연결 • repository가 연결되면 Jira에서 commit, branch 생성, pull request 내역 확인 가능 • branch명, commit 메세지, pull request 생성 시 이슈 키를 맵핑하여 사용
  • 17. Jira issue에서 repository branch 생성 • Jira가 repository와 통합되면 Jira issue 보기 화면에 branch를 생성 할 수 있음 • Jira issue에서 개발 작업을 시작할 수 있는 편리함이 있음
  • 18. branch 생성 • Jira issue key는 branch명에 포함되어 있음 • Jira issue와 repository를 연결하는 작업 • branch명에 Jira issue 제목이 포함 됨
  • 19. Bitbucket에서 branch 화면 • 개발자는 Bitbucket 또는 개발 Tool을 통해 branch에 대한 작업 가능
  • 20. Commit 생성 • bitbucket을 사용해서 repository 파일 및 commit 생성, 삭제 또는 업데이트를 함
  • 21. Commit 메세지에 이슈키를 포함 • commit 메세지에 issue key를 포함하면 issue 보기화면에 commit 내역이 표시 됨 • commit 링크를 클릭하면 Jira 화면을 종료하지 않고 commit 정보를 확인 할 수 있음
  • 22. Bitbucket Cloud를 통한 소스 배포
  • 23. 지속적인 통합과 지속적인 배포(CI/CD) • DevOps의 핵심적인 요소는 CI/CD의 파이프라인 • 배포 파이프라인이라고도 함 • 자동화 항목 • Builds • Test • 스테이징 및 운영 환경에 배포 • CI/CD의 목표는 작은 사이즈 단위로 지속적인 배포를 하는 것
  • 24. 파이프라인의 단계 • 크게 두가지 단계로 구분 • Pre-deployment/build • Deployment • Pre-deployment 단계 실패 시 파이프라인이 중지 됨 • Pre-deployment 단계 통과 시 스테이징 또는 운영 환경에 배포 진행 Pre-deployment Deployment
  • 25. 자동 VS. 수동 배포 • 배포 단계에서 자동 또는 수동으로 실행되도록 구성 할 수 있음 • 일반적으로 스테이징 서버 배포는 자동으로 구성 • 운영 배포는 종종 수동으로 구성 • 예를 들면 배포 담당자는 운영에 배포할 시기를 선택 할 수 있음 Automatic Manual
  • 26. 파이프라인 실행 시점 • 소스 커밋 • pull request 승인 • Automation rule • 수동으로 실행
  • 27. Bitbucket 파이프라인 구성 • Bitbucket 파이프라인을 정의하려면 repository의 루트 폴더에 bitbucket-pipelines.yml이라는 텍스트 파일을 저장해야 함 • Bitbucket은 배포 과정을 보다 쉽게 수행 할 수 있도록 템플릿과 UI를 제공 함
  • 28. bitbucket-pipelines.yml 파일 구성 • 템플릿은 Bitbucket에 의해 자동으로 생성 Pre-deployment/ build Deployment
  • 29. bitbucket-pipelines.yml 파일 수동 배포 구성 • trigger:‘manual’ 행을 step에 추가하여 자동 배포에서 수동 배포로 변경 Manual Manual
  • 30. 파이프라인 트리거 항목 지정 • The default: 해당 라인의 의미는 repository에 대한 commit 실행 시 파이프라인이 시작되는 트리거 • default 대신 branch 명을 지정하여 선택적으로 trigger 가능
  • 31. build가 실패했을 경우 • 실패한 단계를 시뮬레이션하기 위해 step 항목에 ‘exit 1’ 명령을 사용 • Security scan 단계 Jira가 빌드 실패를 적용
  • 32. Jira Releases panel • Jira에서 이슈와 관련된 배포 정보는 이슈의 release panel에 표시 됨 • Jira에 release 상태를 바로 확인 할 수 있음 • CI/CD 도구와 함께 작동하도록 Jira 구성 • commit 메세지, branch명, pull request에 이슈 키 지정
  • 33. Jira Deployments page • 배포 페이지에는 프로젝트 이슈에 대한 배포 정보가 표시 됨
  • 34. 배포에 대한 상세 정보 표시 • 타임라인 클릭 시 배포에 대한 상세 정보 확인 가능
  • 35. Insight 확인 • 배포 빈도와 주기적인 시간 확인 및 과거 내역 확인은 Insight에서 가능 • 지속적인 개선을 위한 가시성 제공
  • 36. JQL을 사용하여 개발 상태 보기 • repository 및 CI/CD 파이프라인과 같은 연결된 도구의 정보를 JQL 검색을 통해 확인 가능 • Examples: • pull request가 생성된 모든 이슈 • 현재 운영에 배포되지 않은 모든 이슈
  • 38. DevOps Jira Automation 자동화 사용 사례 • 첫 commit 시 이슈 상태를 “진행 중”으로 자동 변경 • CI/CD 빌드가 실패하거나 pull request 생성 시 팀 slack 채널에 알림 전송
  • 39. DevOps triggers • repository에 변경을 기준으로 트리거 함