목차
2023.08.22 - [CICD/학부수업내용복습] - 카테고리 생성 이유
앞서 작성했던 글의 내용해서 설명드렸듯 Jira와 Github를 연동한 이유는 이슈 관련 내용을 한 눈에 파악할 수 있도록 하기 위함이었습니다. 관련 작업을 진행해보도록 하겠습니다.
1. Jira와 Github 연동
우선 Jira와 Github를 연동하도록 하겠습니다.
Jira 상단의 [앱]을 클릭한 후 [더 많은 앱 살펴보기]를 클릭합니다.
검색칸에 "Github for Jira"를 입력합니다.
"Github for Jira"를 클릭합니다.
[Get app]을 클릭합니다.
[Get it now]를 클릭합니다.
잠시 기다리시면 완료되었다는 팝업이 뜹니다.
[Get started]를 눌러줍니다.
이후 나오는 화면에서 [Connect Github organization]을 클릭합니다.
다음 화면에서 어떤 GitHub를 연결할지 선택하라고 나옵니다.
저는 Github에서 github.com 도메인을 가진 저장소를 사용하고 있으니 좌측의 [GitHub Cloud]를 선택하도록 하겠습니다.
이후 넘어간 화면에서 Permission을 위해 [Authorize Jira]를 클릭합니다.
[Install GitHub for Jira on a new organization]을 클릭합니다.
어느 곳에 Jira를 설치할건지 선택하라고 주어집니다.
저는 개인 연습용으로 사용할 것이기 때문에 제 개인 Organization을 선택하겠습니다.
연습용으로 사용하기 위한 repository를 선택한 후, [Install]을 눌러줍니다.
이후 연결하고자 하는 Jira site와 연결을 진행합니다.
연결이 완료되었습니다.
연결이 완료된 후, 이슈를 생성해보면 그 동안 못보던 개발 탭에 [브랜치 만들기], [커밋 만들기]가 생긴 것을 확인하실 수 있습니다.
2. branch 생성하기
작업을 하는 팀 내부의 컨벤션에 따라서 다르겠지만 '소프트웨어개발실무' 수업에서 팀 작업을 할 때도 뮤지컬 커뮤니티 사이트를 만드는 프로젝트를 진행할 때도 저는 이슈별로 티켓을 발행하고 티켓마다 branch를 생성해서 해당 branch에서는 해당 이슈만 작업하도록 설정하는 것을 선호하였습니다.
Github와 연동한 Jira를 이용해서 branch를 생성해보겠습니다.
Jira를 이용해서 branch를 만드는 방법은 2가지가 있습니다.
2-1. Github repository에 branch 바로 생성하기
[브랜치 만들기]에 마우스를 올리면 버튼이 2개로 구분되어 있다는 것을 확인하실 수 있습니다.
이 중 첫 번째 버튼을 클릭하면 됩니다.
클릭 후, 이동한 페이지에서 어느 Repository에 branch를 생성할 것인지 어느 branch로부터 분기할 것인지 branch 이름은 무엇으로 할 것인지 정하도록 안내됩니다. 원하시는대로 설정한 후에 [Create branch]를 누르면 됩니다.
생성 후 Github repository에 가서 확인해보시면 branch가 잘 생성되었음을 확인하실 수 있습니다.
2-2. 로컬 Git에서 branch 생성하기
위와 같은 경우 말고 바로 로컬에서 브랜치를 생성해서 작업하는 경우가 더 많다고 생각이 되는데요.
그런 경우에는 [브랜치 만들기]의 2번째 버튼을 클릭하여 제공해주는 명령어를 복사하여 사용하시면 됩니다.
3. 커밋 만들기
커밋을 만들고 Jira 이슈와 연결하고 싶다면 커밋 메시지에 이슈 키를 포함시켜서 커밋을 하면됩니다.
이슈키란 이슈 좌측 상단에 있는 키 값을 뜻합니다.
[커밋 만들기] 버튼을 클릭하면 커밋 메시지 예시를 보여줍니다.
예시를 이용해서 다음과 같은 커밋 메시지를 만들어 보았습니다.
이제 Githug repository에 push를 진행하고 다시 이슈 창을 보면 커밋이 연동되어 있음을 확인할 수 있습니다.
해당 부분을 클릭하시면 이슈 관련 브랜치에 대한 모든 정보를 보기 편리한 형태로 제공되는 창이 나옵니다.
이 곳에서 해당 브랜치와 관련된 모든 커밋을 편리하게 보고 관리할 수 있습니다.
결론
이를 통해 Jira와 Github를 연동하고 칸반 보드 기반으로 이슈 티켓을 발행해 팀원에게 작업을 할당하면 팀원은 해당 이슈를 기반으로 브랜치를 생성하고 작업하면 작업 과정이 보기 편하게 자동으로 정리된다는 점을 알 수 있었습니다.
제가 '소프트웨어개발실무' 수업을 수강했을 때는 저희 팀의 팀장님이 관리자라고 가정하고 팀장님이 칸반보드에 업무를 각 팀원에게 배분하면 각 팀원이 이슈에 맞게 브랜치 생성해서 작업을 진행하고 PR을 날리면 팀장님이 버그가 없는지 확인하고 Merge하는 작업 과정을 설정하고 지켰던 기억이 있습니다.
당시 Confluence도 사용해서 문서를 관리했던 기억이 있는데요. 팀장님과 팀원 분들 모두 열심히 해주셔서 많은 것을 배워갔던 팀플로 기억합니다.
여담
뮤지컬 커뮤니티 사이트 프로젝트 당시에는 오늘 다루었던 내용을 InteliiJ와 Github의 연동을 통해 수행했었습니다. 만약 Slack과의 연동을 포함하여 통합적인 자동화 툴을 다루고자 하는 것이 아니라 오늘의 작업만 다룬다면 IntelliJ와 Github 연동을 통해 작업하는 것도 편하고 괜찮으니 고려해보시는 걸 추천드립니다.
'CICD > 학부수업내용복습' 카테고리의 다른 글
Jira와 Slack 연동 (0) | 2023.08.23 |
---|---|
카테고리 생성 이유 (0) | 2023.08.22 |