프로젝트 시작전에 AWS 를 사용해서 다른 프로젝트를 배포해보고 RDS로 DB를 구성
Travis 와 S3 Deploy를 사용하여 CI/CD 까지 완성해놓았다.
이에대한 내용은 차차 게시글로 작성할 예정이며
현재는 팀원들과의 협업 방식에 대해 얘기하다가 관련하여 정리하려고 한다.
우선 우리는 프론트와 백 레포를 분리하기로 하였다.
따라서 백엔드 레포에서는 각각 자신의 브랜치를 생성하여 작업을 하고
이에 PR을 날려 merge 하는 방식으로 진행하면 될것이다.
또 우리는 PR 후에 코드리뷰를 통해 자기 외의 2명의 리뷰어에게 Approve 를 받아야
merge 할수 있도록 하려고 한다.
먼저 내가 속한 Organization 에서 백엔드 Repository 를 생성하였다.
organization : Forever-Pet
Repository : foreverpet-backend
생성한 Repository Setings 중
Collaborators and teams 에 들어가보면 Manage access 가 있다.
여기에 write 권한을 가진 두 백엔드 팀원을 추가해주었다.
브랜치 확인 : git branch
브랜치 생성 : git branch {branchName}
브랜치 변경 : git checkout {branchName}
intelliJ 에서 몇몇 의존성을 추가하고 main 브랜치에 push 할때는 잘 동작하였는데
이상하게 새로 생성한 cmong0516 브랜치로 push 할때는 계속 깃에 연결하라고 했었다.
연결방식에는 git 로그인을 사용하는 방법과 토큰을 사용하는 방법이 있었다.
로그인 방식으로 아무리 시도해도 연결되지 않아 토큰을 사용하기로 하였다.
- 프로필 선택
- Settings
- Developer settings
- Personal access tokens
- Tokens(classic)
- Generate new token
- Generate new toeken(classic)
- repo 카테고리를 모두 선택해 repo 관련 권한을 준다.
- 토큰값을 복사해서 intellij 에서 token 인증을 한다.
cmong0516 브랜치 에서 작업한 내용을 push 하고
main branch 에 merge 하기 위해서 pull request 를 보냈다.
그리고 Reviewers 에 백엔드 팀원 두분을 추가해주었다.
우리는 코드리뷰 후에 merge 가 가능하게 branch 에 설정을 해두어야한다.
1. repository settings
2. Branches
3. Add branch proection rule
4. Require a pull request before merging 체크
5. Approve 인원 설정후 create
Pull Requests 를 보면
- Conversation ( commit 로그와 comments 를 달수있다 )
- Commits ( commit 내역들이 상세히 보여진다 )
- Checks ( 아무것도 없고 아직 사용해본적 없다 )
- Files changed ( file 변경 내역들과 코드를 볼수 있다 )
네가지 메뉴가 있다.
Files changed 탭으로 이동하여 Review changes 를 클릭하면
리뷰를 작성할수 있고
- Comment ( comment 를 남긴다 )
- Approve ( merge를 승인한다 )
- Request changes ( approve 를 거부하고 변경을 요청한다 )
( approve 수를 만족했어도 Request changes 를 만족하지 못하면 merge 불가능 )
세가지 메뉴가 나온다.
Approve 수를 만족하고 해결하지 못한 Request changes 가 없을경우
merge 할수있다.
- 레포지토리 생성
- 팀원 추가
- branch 생성
- branch 에서 작업 후 main 으로 pr
- 레포지토리 Settings 에서 Branch protection rule 설정 ( Ex_ Approve 2)
- 설정한 두명의 Approve 를 받으니 Pr 을 merge 할수 있게 되었다!