아틀라시안(Atlassian)이란?
아틀라시안은 오스트레일리아의 시드니에 기반을 두고 있으며 소프트웨어 개발자들을 타깃으로 하는 전사적 소프트웨어를 만드는 기업이다.
아틀라시안에서 제공하는 유명한 제품들로는 지라(Jira), 뱀부(Bamboo), 비트버킷(Bitbucket) 등이 존재한다. 카카오와 같은 국내 유명 대기업들에서도 아틀라시안이 제공하는 소프트웨어를 많이 사용하고 있다.
내가 입사한 회사에서도 아틀라시안의 지라, 뱀부, 비트버킷 등을 이용한다. 따라서 이에 대해 포스팅해보고자 한다. 우선 우리 회사에서 주로 사용하는 제품들만 소개해보도록 하겠다.
지라(Jira)
지라는 이슈 및 작업을 관리할 수 있는 협업 툴이라고 볼 수 있다. 큰 아이디어를 사용자 스토리, 이슈 및 작업으로 팀 전반에서 관리할 수 있는 크기로 나눌 수 있다. 계획, 트래킹, 릴리즈, 보고서, 자동화 등 애자일 팀에서 사용하기에 좋은 기능들을 제공한다.
쉽게 말해 업무를 처리하기 쉽게 도와주는 이슈 관리 툴이라고 볼 수 있겠다. 이러한 지라 소프트웨어를 중심으로 다른 아틀라시안 제품들을 사용하기도 한다. 예를 들어 문서 협업은 Confluence를 이용하고, Git 코드 등 형상 관리는 Bitbufcket을, 통합 및 릴리즈 관리는 Bamboo를 이용하는 등으로 응용할 수 있다.
지라는 총 4가지 패키지로 제공된다.
- Jira Work Management는 일반적인 프로젝트 관리를 위한 것이다.
- Jira Software는 애자일 프로젝트 관리 기능을 포함한 기본 기능들이 포함되어 있다.
- Jira Service Management는 IT 운영 또는 비즈니스 서비스 데스크에서 사용하기 위한 것이다.
- Jira Align은 전략적 제품 및 포트폴리오 관리를 위한 것이다.
Confluence
Confluence는 원격으로 지식을 공유하고 공동 작업할 수 있는 문서 협업 툴이다. 위키와 비슷하다고 생각하면 되는데, 위키 문법을 사용하지는 않는다. 에디터가 주로 마우스를 활용한 GUI 위주의 인터페이스로 구성되어 있다.
다른 위키 소프트웨어들의 데이터를 불러오는 기능을 제공한다. 모범 템플릿을 제공하기 때문에 문서 작성을 쉽게 도와주기도 한다. 또한 Jira, Slack 등과 연계하여 사용할 수 있기 때문에 공동화 작업에 많은 도움을 준다.
비트버킷(Bitbucket)
비트버킷은 CI/CD를 갖춘 네이티브 Git 도구로써 GitHub와 비슷한 역할을 한다. 쉽게 말하자면 형상 관리를 관리하는(?) 툴이라고 할 수 있겠다.
비트버킷은 여러 가지 Branch와 소스 코드를 관리하는 기능을 제공한다. 개발 워크플로우를 전반적으로 관리할 수 있다.
비트버킷은 CI/CD를 내장하고 있어 테스트부터 프로덕션까지 코드를 자동화할 수 있다. 또한 Jira와 통합하여 사용할 수 있다. 따라서 빌드 및 테스트 자동화, 배포 관리, 팀 간 공동 작업등을 수행할 수 있다.
뱀부(Bamboo)
뱀부는 CI/CD 툴이다. 지속적인 통합(CI), 테스트 자동화, 지속적인 배포(CD)를 제공한다. 비트버킷도 내장 CI/CD를 갖췄지만 비트버킷과 뱀부는 유연한 통합을 지원하기 때문에 둘을 통합하여 손쉽게 사용 가능하다.
혹시 CI/CD에 잘 모른다면 다음을 참고하자.
CI/CD(Continuous Integration/Continuous Deployment)란?
뱀부는 Jira에 붙여 사용할 수 있다. Jira 이슈를 추적하고 Jira의 릴리즈 관리를 이용할 수 있다.
뱀부는 Git branch의 생성을 인식하여 자동으로 빌드를 수행할 수 있다. 또한 또 다른 CI/CD 도구인 젠킨스(Jenkins)에서 뱀부로 마이그레이션을 제공하기 때문에 기존에 젠킨스를 사용하던 곳도 쉽게 넘어올 수 있다.
전체적인 흐름
이러한 아틀라시안의 제품들은 같이 사용했을 때 시너지가 매우 크다. 예를 들어 우리 회사에서의 업무는 다음과 같은 워크플로우를 따른다.
1. IT VOC에서 이슈를 요청한다. (Ex : 이러이러한 부분의 Bug를 고쳐주세요)
2. Jira에서 이슈를 받아 관리하고, 담당자를 배정한다. (ex : 이 업무는 A가 처리해 주세요~)
3. 이슈를 처리하고 BitBucket을 이용하여 형상을 관리한다. ( ex : Bug fix 했습니다. 버전 릴리즈 Commit 하겠습니다)
4. 이슈 관련한 문서를 Confluence에 올려 공지한다. ( ex : 이슈 관련한 사항 Confluence에 올려놓겠습니다)
5. Jira에서 완료한 이슈를 완료 처리한다.
매우 간략화하자면 위와 같은 과정을 거치게 된다. 즉, 아틀라시안의 제품들은 각 기능들을 제공하는 여러 소프트웨어들이 합쳐지면 더 큰 효과를 발휘할 수 있다.
참고
1. https://www.atlassian.com/ko
2. https://ko.wikipedia.org/wiki/%EC%95%84%ED%8B%80%EB%9D%BC%EC%8B%9C%EC%95%88
'개발 지식' 카테고리의 다른 글
함수형 프로그래밍(Functional Programming)이란? 함수형 프로그래밍의 특징과 장점, 한계 (0) | 2022.07.04 |
---|---|
백엔드 개발자가 꼭 읽었으면 하는 추천 글 리스트 (0) | 2022.06.30 |
도커(Docker)란 무엇인가? 컨테이너와 가상 머신의 차이점 (0) | 2022.06.13 |
아스키코드(ASCII Code)와 유니코드(Unicode)에 대하여 (2) | 2022.06.08 |
CI/CD(Continuous Integration/Continuous Deployment)란? (0) | 2022.04.20 |