시스템이 갖춰지지 않은 대부분 초기 스타트업은
github을 러프하게 사용하는 경우가 대다수 입니다.
혼자 일할 때는 큰 불편함은 없지만
협업을 하면 불편하거나 효율적이지 않은 부분이 보이고
이를 위한 시스템을 구축하기 시작합니다.
👀 이직한 회사에서 처음 눈에 띈 부분은
PR 부분이였습니다.
PR에서 다음과 같은 항목이 직관적으로 보이지 않았습니다.
개발자가 PR을 요청할 때 매번 복사&붙여넣기가 아니라
PR 요청 시 > Add a description에
자동으로 템플릿이 삽입되어 있는 구조로 설정 했습니다.
📌 다음과 같은 기준으로 만들었습니다.
PR을 위와 같은 기준으로 만들었고
안드로이드에 적용해서 사용하고 있었는데
ios팀원분들도 괜찮다고 생각하셔서
제가 만든 템플릿을 사용하시는
좋은 방향으로 전파됐습니다.
![]() | ![]() |
---|
이제 PR을 정돈된 형태로 올릴 수 있게 됐는데
여기서 끝이 아니라 시작입니다.
PR 템플릿을 만들고 이후의 생각의 흐름을 풀어보면
--} PR을 요청받은 Reviewer에게 부담스럽지 않게 올려야 리뷰가 원활하다
--} 그러면 PR을 최대한 잘게 쪼개야 한다
--} 프로젝트 성격에 따라 PR이 많아질 수 있다
--} PR 리스트가 많아지니 PR들이 각각 어떤 상태인지 알 수 없다.
--} PR 리스트를 봤을 때 filtering을 하여 작업한 내용 효율적으로 찾을 수 없다.
Ok~
Labeling 필요성이 생겼으니 만들어야겠다.
그럼 라벨을 어떤 기준으로 생각하고 만들었나요?
라벨은 상태를 나타내기 위해서 만드는데
어떤 범주의 상태들을 만들지 첫 번째로 고민 했습니다.
1. PR
2. Reviewer & Author가 봐야하는 PR List 화면
3. Issue
먼저 PR을 살펴보면
PR은 최대한 작은 단위로 나눠서 올리다보니
해당 PR의 성격이 명확하게 나옵니다.
PR을 올리는 성격은 크게 다음과 같았습니다.
Reviewer 와 Author 가 PR List 화면에서 봐야 할 상태를 생각해보면
이슈는 어떤 종류의 이슈인지
위의 상태들을 바탕으로 만든 Label 입니다.
이제 PR 리스트에서
각 PR들의 상태를 한 눈에 파악하고
각 PR 처리에 대한 효율적인 프로세스를 갖췄습니다.
PR을 효율적으로 잘 작성했으면
PR을 잘 노티하는 것도 필요합니다.
리뷰어에게 따로 매번 노티를 드리는 것도
눈치 보일 수 있고 또한 반복 노동의 리소스 낭비입니다.
이 때 슬랙을 깃헙을 연동하면 자동화된 노티가 가능합니다.
💁🏻 설정방법 link
위의 과정을 모두 진행하면
Slack에서 연동된 계정으로 멘션이 되고
PR에 대해 자세히 볼 수 있습니다.
해당 프로젝트에 대한 개발과 QA까지 모두 끝나면
앱 개발자는 해당 버전에 개발된 것들을 각 환경에 맞게 명시합니다.
위와 같은 프로세스를 진행하면서 조금 ✌🏻불편했던 부분들이✌🏻 있었습니다.
그러면 이제 잘 정리된 PR을 라벨링된 스코프하에 릴리즈노트로 옮기면 됩니다.
release-drafter 는 위의 요구사항을
모두 만족시켜주는 깃헙액션 입니다.
위의 만들어둔 label과 링크를 참조하여 파일을 만들면
⭐️ 릴리즈노트가 작업자와 개발 내용이 한 눈에 들어옵니다.
이직하며 처음부터 눈에띄어 불편하거나 효율적으로 고친 부분이
팀이 일하기 편한 방향으로 긍정적 영향을 발휘했습니다.
이에 저처럼 협업에 고민하시는 분들을 위해 참고가 되실 수 있어
공유하는 마음으로 당시의 고민과 생각의 흐름으로 작성 했습니다.
아직 발전시켜야 할 부분이 많지만
위와 같은 작업을 하면서
불편하고 귀찮은걸 개선시키는 작업 또한
성장의 발판이라고 생각하며
글을 마치겠습니다.