[오픈소스컨설팅]atlassian jira deep dive

65
Atlassian Collaboration - Focus on Scheme - 주식회사 오픈소스컨설팅 최지웅([email protected])

Upload: ji-woong-choi

Post on 16-Apr-2017

1.940 views

Category:

Software


6 download

TRANSCRIPT

Page 1: [오픈소스컨설팅]Atlassian JIRA Deep Dive

Atlassian Collaboration - Focus on Scheme -

주식회사 오픈소스컨설팅 최지웅([email protected])

Page 2: [오픈소스컨설팅]Atlassian JIRA Deep Dive

2 - Internal Use Only -

Atlassian Brief I

Page 3: [오픈소스컨설팅]Atlassian JIRA Deep Dive

3 - Internal Use Only -

오픈소스컨설팅에 대하여

Page 4: [오픈소스컨설팅]Atlassian JIRA Deep Dive

4 - Internal Use Only -

아틀라시안 개요

D I S C U S S

O R G A N I Z E

C O M P L E T E W I T H Y O U R T E A M

Tasks & projects

Pages & files

Messages, & calls

Requests & SLAs

Code & reviews

C OM MON

P EOPLE

TE AMS

COMMENTS

MENTIONS

S HARES

NOTIF ICAT IONS

U N I Q U E

Page 5: [오픈소스컨설팅]Atlassian JIRA Deep Dive

5 - Internal Use Only -

JIRA, Confluence

Organize Work Do Work Discuss Work

Page 6: [오픈소스컨설팅]Atlassian JIRA Deep Dive
Page 7: [오픈소스컨설팅]Atlassian JIRA Deep Dive
Page 8: [오픈소스컨설팅]Atlassian JIRA Deep Dive

Tesla drives the auto industry into the future. Atlassian helps Tesla work more efficiently in the name of energy efficiency.

Page 9: [오픈소스컨설팅]Atlassian JIRA Deep Dive

Autodesk helps imagine

and design the future.

With Atlassian, Autodesk creates design and engineering software that can envision the future.

Page 10: [오픈소스컨설팅]Atlassian JIRA Deep Dive

10 - Internal Use Only -

전세계 대부분의 기업이 사용 중

Page 11: [오픈소스컨설팅]Atlassian JIRA Deep Dive

11 - Internal Use Only -

최고의 애플리케이션 라이프사이클 관리

A Leader in Gartner's 2015 Magic Quadrant for Application Development Life Cycle Management, Gartner 2015

다양한 JIRA, Confluence 고객사

서드-파티 마켓 플레이스 제공

사용의 편리성과 유연성 제공

Page 12: [오픈소스컨설팅]Atlassian JIRA Deep Dive

12 - Internal Use Only -

기업의 업무 시스템(소프트웨어) 구조 변화

개별 SW 개발자 개발 생태계 단일 기업 프로젝트 팀

코드 중심 설계 협업 중심 개발 라이프 사이클 관리 오픈소스 기반 개발

클라우드 컴퓨팅 클라이언트/서버 모델

& 애플리케이션 서버 플랫폼 메인 프레임 플랫폼 미니 컴퓨터 플랫폼

B

U Corporate

Large Info Intensive

B

U Type of User

Type of Business

B

U Corporate

Departmental

Large Info Intensive

Large

B

U Process

Large

Small

Corporate

Departmental

Large Info Intensive B

U

Large

Corporate

Departmental

Large Info Intensive

Process

Small

Consumer

개발방식

플랫폼 구조

사업구조

Page 13: [오픈소스컨설팅]Atlassian JIRA Deep Dive

13 - Internal Use Only -

소프트웨어 애플리케이션 연계

문서 관리

프로젝트 포탈 (이슈 및 일정 관리)

소스 형상관리

소스 리뷰

소스 변경 추적

빌드 및 배포

코드 품질 관리

코드 동적 분석

개발 서버

Project Manager

라이브러리 관리

실행/테스트 코드

개발자

코드 정적 분석

개발툴

요구사항 산출물

이슈에 따른 소스 수정

변경 내용 저장

Reviewer

고객

전체 프로젝트 관리

QA/Test

Page 14: [오픈소스컨설팅]Atlassian JIRA Deep Dive

14 - Internal Use Only -

개발/운영 프로세스 표준화

통합 대시보드

표준/규격화

업무 메타 관리

개발 진행 관리

WSR, ITSR OpenITSM

Jenkins 등 배포 도구

WAS, DB APM

문서

빌드

요구사항 개발 빌드 배포 운영

소스

소스 추적

코드 리뷰 작업 관리 및

이슈 트래킹

차세대 애플리케이션/협업 관리

요구사항

워크플로우 현업 담당자

(요구사항 입력)

각 기능 별 모듈 분리 및 상호 API 기반 연동

시스템 관리자

(운영, 관리, 모니터링)

소스 품질

상호 API 기반

연동

상호 API 기반 연동

프로젝트 배포 승인

개발자 품질 관리자

품질 KPI 관리

통합 계정 관리

Page 15: [오픈소스컨설팅]Atlassian JIRA Deep Dive

15 - Internal Use Only -

Work Code Ideas

or

Comms Content Work Code Comms

콘텐츠 협업 및 공유 이슈 및 프로젝트 추적 코드 및 품질 관리 실시간 통합 커뮤니케이션

클라우드와 서버 형태의 제품 제공

Page 16: [오픈소스컨설팅]Atlassian JIRA Deep Dive

16 - Internal Use Only -

조직의 효과적인 협업 구조를 제공

Organize

Discuss

Do

Done

Page 17: [오픈소스컨설팅]Atlassian JIRA Deep Dive

17 - Internal Use Only -

Confluence – 콘텐츠 협업 도구

One Place - Latest Version - Track Changes

Page 18: [오픈소스컨설팅]Atlassian JIRA Deep Dive

18 - Internal Use Only -

Confluence – 콘텐츠 협업 도구

공유 내용에

제가 코멘트

추가했어요~

제가 텍스트로

코멘트를 적고

버전을 새로

만들었습니다.

여기 최종 버전이

있는데 다시 리뷰

좀 부탁드릴께요.

제가 새로운

버전이 있는지

모르고 기존

문서에

코멘트를

달았어요

제가 문서를

변경했는데, 어떤

부분을 변경했는지

적지 않았네요.

Page 19: [오픈소스컨설팅]Atlassian JIRA Deep Dive

19 - Internal Use Only -

Confluence – 다양한 코멘트 협업

Inline Comments

+

Page Comments

Page 20: [오픈소스컨설팅]Atlassian JIRA Deep Dive

20 - Internal Use Only -

Confluence – 오피스, 이미지 파일 기반의 협업

JPEG

PNG

TIFF

PSD

WMF

EMF

ICO

ICNS

PDF

DOC

DOCX

XLS

XLSX

PPT,

PPTX

다양한 문서의 업로드, 미리보기 및 버전 관리

Page 21: [오픈소스컨설팅]Atlassian JIRA Deep Dive

21 - Internal Use Only -

JIRA - 각 부서 또는 팀간의 효율적인 협업 기능 제공

SOFTWARE HR RISK SERVICE DESK BUSINESS

Page 22: [오픈소스컨설팅]Atlassian JIRA Deep Dive

22 - Internal Use Only -

JIRA 개요

각 조직만의 워크플로우를 별도로 정의하여 처리

별도

클라이언트 작성 가능

Page 23: [오픈소스컨설팅]Atlassian JIRA Deep Dive

23 - Internal Use Only -

JIRA - 워크플로우 기반 작업 구성

프로젝트 별로 독립된 Workflow 구축 및 화면 구성

Page 24: [오픈소스컨설팅]Atlassian JIRA Deep Dive

24 - Internal Use Only -

프로젝트 전반에 대한 투명한 가시성 제공

Page 25: [오픈소스컨설팅]Atlassian JIRA Deep Dive

25 - Internal Use Only -

JIRA Agile

Page 26: [오픈소스컨설팅]Atlassian JIRA Deep Dive

26 - Internal Use Only -

JIRA – 작업 담당자

주요 프로젝트 공지 사항 각종 프로젝트 활동 로그

주요 이슈들의 진행 상황 각 개발자에게 할당된 이슈

Page 27: [오픈소스컨설팅]Atlassian JIRA Deep Dive

27 - Internal Use Only -

JIRA – 작업 통계 및 품질 관리

담당자 별 이슈 진행 상황 프로젝트 주요 릴리즈 일정

Story Point 기반 프로젝트 건전성 이슈 생성/해결 상황 그래프

Page 28: [오픈소스컨설팅]Atlassian JIRA Deep Dive

28 - Internal Use Only -

프로젝트 관리

진행중 , 해결됨 등의 상태의 순서

특정한 역할을 사용자에게 할당

사용자에 대한 제어와 이슈

Page 29: [오픈소스컨설팅]Atlassian JIRA Deep Dive

29 - Internal Use Only -

프로젝트 관리

Page 30: [오픈소스컨설팅]Atlassian JIRA Deep Dive

30 - Internal Use Only -

JIRA – Collection of Scheme

issues

types custom fields security

level

permission workflow

project roles notification

Page 31: [오픈소스컨설팅]Atlassian JIRA Deep Dive

31 - Internal Use Only -

Project, Scheme, Configuration

Page 32: [오픈소스컨설팅]Atlassian JIRA Deep Dive

32 - Internal Use Only -

Issue Type Scheme

Page 33: [오픈소스컨설팅]Atlassian JIRA Deep Dive

33 - Internal Use Only -

Issue Type Scheme

Page 34: [오픈소스컨설팅]Atlassian JIRA Deep Dive

34 - Internal Use Only -

Field Configuration Scheme

Page 35: [오픈소스컨설팅]Atlassian JIRA Deep Dive

35 - Internal Use Only -

Default Field Configuration

Page 36: [오픈소스컨설팅]Atlassian JIRA Deep Dive

36 - Internal Use Only -

Screen Scheme

새로운 윈도우를 사용자가 쉽게 생성

필드(field)의 표시되는 순서와 포맷을 지정

Page 37: [오픈소스컨설팅]Atlassian JIRA Deep Dive

37 - Internal Use Only -

Screen Scheme

Page 38: [오픈소스컨설팅]Atlassian JIRA Deep Dive

38 - Internal Use Only -

Screen Scheme

Page 39: [오픈소스컨설팅]Atlassian JIRA Deep Dive

39 - Internal Use Only -

Screen Scheme

스키마를 수정하는 경우 커스텀 스크린 스키마(Custom Screen Scheme)를 사용하지

않는 모든 프로젝트에 보여지게 됨

Page 40: [오픈소스컨설팅]Atlassian JIRA Deep Dive

40 - Internal Use Only -

Issue Type Screen Scheme

screen scheme과 issue type 간의 관계를 구성

Page 41: [오픈소스컨설팅]Atlassian JIRA Deep Dive

41 - Internal Use Only -

Issue Type Screen Scheme

Page 42: [오픈소스컨설팅]Atlassian JIRA Deep Dive

42 - Internal Use Only -

Permission Scheme

groups과 project roles로 구성

프로젝트 단위의 사용자, 그룹, 프로젝트 역할 지정

Page 43: [오픈소스컨설팅]Atlassian JIRA Deep Dive

43 - Internal Use Only -

Permission Scheme

Page 44: [오픈소스컨설팅]Atlassian JIRA Deep Dive

44 - Internal Use Only -

Permission Scheme

적용될 퍼미션에 대한 집합을 정의

Page 45: [오픈소스컨설팅]Atlassian JIRA Deep Dive

45 - Internal Use Only -

Permission Scheme

Page 46: [오픈소스컨설팅]Atlassian JIRA Deep Dive

46 - Internal Use Only -

Permission Scheme

Page 47: [오픈소스컨설팅]Atlassian JIRA Deep Dive

47 - Internal Use Only -

Issue Security Scheme

Page 48: [오픈소스컨설팅]Atlassian JIRA Deep Dive

48 - Internal Use Only -

Issue Security Scheme

Page 49: [오픈소스컨설팅]Atlassian JIRA Deep Dive

49 - Internal Use Only -

Notification Scheme

이벤트가 발생하는 경우 사용자에 통지

Page 50: [오픈소스컨설팅]Atlassian JIRA Deep Dive

50 - Internal Use Only -

Notification Scheme

Page 51: [오픈소스컨설팅]Atlassian JIRA Deep Dive

51 - Internal Use Only -

Workflow Scheme

이슈 타입(issue type)과 워크플로우 간의 관계

가장 강력한 기능

Page 52: [오픈소스컨설팅]Atlassian JIRA Deep Dive

52 - Internal Use Only -

Workflow Scheme

기업의 비즈니스 프로세스를 적용

Page 53: [오픈소스컨설팅]Atlassian JIRA Deep Dive

53 - Internal Use Only -

Workflow Scheme

Page 54: [오픈소스컨설팅]Atlassian JIRA Deep Dive

54 - Internal Use Only -

JIRA Install & Configure II

Install and configure JIRA

Page 55: [오픈소스컨설팅]Atlassian JIRA Deep Dive

55 - Internal Use Only -

Download JIRA

https://www.atlassian.com/software/jira

Page 56: [오픈소스컨설팅]Atlassian JIRA Deep Dive

56 - Internal Use Only -

초기 설치

다운로드 받은 atlassian-jira-6.4.12-x64.bin파일을 사용하여 설치를 시작합니다. 설치 파일의 권한을 변경합니다. # chmod a+x atlassian-jira-6.4.12-x64.bin 데이터를 저장할 홈 디렉토리를 생성합니다. #mkdir –p /data/atlassian/jira 실행 후 Custom install로 설치합니다. #./atlassian-jira-6.4.12-x64.bin This will install JIRA 6.4.12 on your computer. -> Enter Choose the appropriate installation or upgrade option. Please choose one of the following: Express Install (use default settings) [1], Custom Install (recommended for advanced users) [2, Enter], Upgrade an existing JIRA installation [3] -> 2 (Custom Install) Where should JIRA 6.4.12 be installed? [/opt/atlassian/jira] -> Enter Default location for JIRA data [/var/atlassian/application-data/jira] -> /data/atlassian/jira Configure which ports JIRA will use. JIRA requires two TCP ports that are not being used by any other applications on this machine. The HTTP port is where you will access JIRA through your browser. The Control port is used to Startup and Shutdown JIRA. Use default ports (HTTP: 8080, Control: 8005) - Recommended [1, Enter], Set custom value for HTTP and Control ports [2] -> Enter JIRA can be run in the background. You may choose to run JIRA as a service, which means it will start automatically whenever the computer restarts. Install JIRA as Service? Yes [y, Enter], No [n] -> Enter

Page 57: [오픈소스컨설팅]Atlassian JIRA Deep Dive

57 - Internal Use Only -

Install Wizard

Page 58: [오픈소스컨설팅]Atlassian JIRA Deep Dive

58 - Internal Use Only -

Install Wizard

Page 59: [오픈소스컨설팅]Atlassian JIRA Deep Dive

59 - Internal Use Only -

Install Wizard

Page 60: [오픈소스컨설팅]Atlassian JIRA Deep Dive

60 - Internal Use Only -

Install Wizard

Page 61: [오픈소스컨설팅]Atlassian JIRA Deep Dive

61 - Internal Use Only -

JIRA (Active)

MySQL (jiradb)

이중화 구성 방안 (외장 스토리지)

IIS Web Server

isapi_redirect.dll

Crowd (Active)

MySQL (crowd)

Confluence (Active)

MySQL (confluence)

Crowd (Standby)

Confluence (Standby)

JIRA (Standby)

isapi_redirect.properties

uriworkermap.properties

/jira=jiraworker

worker.properties

worker.jiraworker.balanced_workers=worker1,worker2

worker.worker1.port=8080

worker.worker1.host=10.10.10.X

worker.worker1.port=8080

worker.worker1.host=10.10.20.X

File System

Attachments

File System

Attachments

Active Servers (10.10.10.X)

Standby Server (10.10.20.X) External Storage

• Confluence, JIRA의 Attachments

파일의 이중화는 외장 스토리지에

의한 방법을 추천

스토리지 안정성

Page 62: [오픈소스컨설팅]Atlassian JIRA Deep Dive

62 - Internal Use Only -

JIRA (Active)

MySQL (jiradb)

이중화 구성 방안 (NFS)

IIS Web Server

isapi_redirect.dll

Crowd (Active)

MySQL (crowd)

Confluence (Active)

MySQL (confluence)

Crowd (Standby)

Confluence (Standby)

JIRA (Standby)

isapi_redirect.properties

uriworkermap.properties

/jira=jiraworker

worker.properties

worker.jiraworker.balanced_workers=worker1,worker2

worker.worker1.port=8080

worker.worker1.host=10.10.10.X

worker.worker1.port=8080

worker.worker1.host=10.10.20.X

File System

Attachments

File System

Attachments

Active Servers (10.10.10.X)

Standby Server (10.10.20.X)

nfs nfs

• 외장 스토리지 대신 NFS를 사용하는

경우에는 Active 서버의 Attachments

디렉토리를 Standby 서버에서

공유해서 사용하는 방식

별도의 X86 장비를 구성하는 것도

가능

Page 63: [오픈소스컨설팅]Atlassian JIRA Deep Dive

63 - Internal Use Only -

JIRA (Active)

MySQL (jiradb)

이중화 구성 방안 (RSYNC)

Crowd (Active)

MySQL (crowd)

Confluence (Active)

MySQL (confluence)

Crowd (Standby)

Confluence (Standby)

JIRA (Standby)

File System

Attachments

File System

Attachments

Active Servers (10.10.10.X)

Standby Server (10.10.20.X)

rsync rsync

• 외장 스토리지 대신 NFS를 사용하는

경우에는 Active 서버의 Attachments

디렉토리를 Standby 서버에서

공유해서 사용하는 방식

별도의 X86 장비를 구성하는 것도

가능

Nginx

Nginx Plugin

Page 64: [오픈소스컨설팅]Atlassian JIRA Deep Dive

64 - Internal Use Only -

작업 절차 및 필요한 장비

절차 내용 필요한 내용 비고

Standby 서버 준비 Atlassian 제품들을 설치할 Standby X86 장비 준비 및 Linux 환경 구성

X86 장비 제품 별 설치 위치, 홈 디렉토리 등 결정

Atlassian 제품 설치 on Standby 서버

JIRA, Crowd, Confluence, Fisheye 제품 설치

Atlassian 설치 파일

DB 구성 Standby 서버에 설치된 Atlassian의 DB 구성을 기존 Active DB 서버로 설정

Attachments 설정 (외장 스토리지의 경우)

기존 Attachments 디렉토리의 내용을 외장 스토리지로 복제하고 Active, Standby 서버에 Mount 및 구성 변경

Active Atlassian 제품 셧다운 후 복제 작업

Attachments 설정 (NFS의 경우)

Active 서버에서 NFS 구성을 통해 Attachments 디렉토리 공유 Standby 서버에서 Mount 및 구성

IIS에 Tomcat Connector 설정 변경

Active – Standby 서버 간 Failover 모드로 동작하도록 구성 변경

테스트 Active – Standby 간 전환 테스트

Page 65: [오픈소스컨설팅]Atlassian JIRA Deep Dive

65 - Internal Use Only -

OPEN

SHARE

CONTRIBUTE

ADOPT

REUSE