깃허브에서 리포지토리를 만들면, 위에 탭 중에 Projects
라는 탭이 있다. 나는 깃헙으로 누군가와 협업을 잘 하지 않아서 전혀 이 탭을 사용해본적이 없는데, 그래도 배워놓으면 좋을 것 같아서 한번 정리를 해보려고 한다.
위는
classroom
이라는 리포지토리의Projects
탭의 상태 예시이다.
위와 같이 테스트용 프로젝트를 하나 만들어보자. 스타일은 다양한 스타일이 있는데, 여러 기능을 체험해보기 위해서 Automated kanban with review
를 선택해보겠다.
프로젝트를 생성하면, 위와 같이 기본 보드가 생긴다. 보드에 있는 컬럼은 다음과 같다.
To do
In progress
Review in progress
Review approved
Done
이름을 적고 Add
버튼을 누르면, 위와 같이 테스크를 생성할 수 있다.
마우스로 원하는 컬럼으로 옮겨다닐 수도 있다.
위와 같이 마음대로 원하는 Task
를 만들어서 이리저리 옮기며 작업할 수도 있지만, 보통은 Issues
탭을 통해 노트를 만드는 편이다.
우측 끝에 보면 + Add cards
라는 버튼이 있다. 한번 눌러보자.
누르면 리스트가 하나 튀어나오는데, 현재 Open된 이슈의 리스트가 나온다. 현재 README
파일이 없다고 하나 만들어달라는 이슈가 있다.
해당 이슈를 마우스로 드래그해서 In progress
로 옮겨두었다.
Issues
탭에 해당 이슈를 클릭해보면 In progress
로 들어갔다는 정보를 알 수 있다.
위와 같이 이슈를 직접 만들 때, Projects
라는 탭에서 이 이슈를 어떤 프로젝트에 할당할지 설정할 수도 있다. 이렇게 이슈에 프로젝트를 할당해서 만들면 마법같은 일이 벌어지는데...
위와 같이 To do
에 자동으로 내가 생성한 Issue
가 등록되어 있다. 그 이유는 바로 Automation
때문이다. Automation
에 대해 알아보자.
우리는 작업을 진행하는데 실수로 To do
에서 In progress
로 옮겨놓지 않거나 Done
으로 옮기지 않거나 하는 실수를 범한다. 이럴 때 Automation
기능이 매우 유용하다.
컬럼에서 ...
을 눌러서 Manage automation
항목을 클릭하면, Automation
기능을 사용할 수 있다.
위와 같이 해당 컬럼에 대한 Preset
도 설정할 수 있고, 언제 이슈를 여기에 등록할지에 대해서도 설정할 수 있다.
풀리퀘스트해서 자동화가 어떻게 동작하는지 알아보자.
위와 같이 개발자가 README.md
를 만들어서 브랜치를 풀리퀘스트한다고 가정해보자. 프로젝트명에 테스트 프로젝트라고 잘 연결해주었다.
그러면 자동화에 의해 해당 이슈가 In progress
에 올라간다.
한번 Merge pull request
를 해보자.
Confirm merge
버튼을 누르면
위와 같이 Merge
가 완료된다. Delete branch
를 눌러서 필요없는 branch
는 지워버리자.
프로젝트에 다시 가보면 Done
에 해당 카드가 있는 것을 볼 수 있다.
깃허브 리포지토리에는 Projects
라는 탭이 존재하는데 이 탭은 프로젝트 관리를 체계화하기에 유용하다. Issues
에 개발이 필요한 내용이 등록되면 자동으로 Project: To do
컬럼에 등록되고, 개발자는 branch
를 만들어 해당 개발 내용에 대한 작업을 완료한 뒤에 Pull request
를 날려서 Merge
시키면 자동으로 Project: Done
컬럼에 해당 카드가 등록된다.
이 프로젝트에서 어떤 이슈가 있어서 해당 이슈에 대한 해결을 어떠한 코드로 개발해왔는지에 대해 추적하기 굉장히 용이하다.
단, 중간에 이슈를 개발하지 않은 채로 그냥 닫아버릴 수도 있고, 리뷰 과정에서 머지가 일어나지 않을 수도 있음을 알아두자.