📌1인 개발, 프로세스 정립 왜 하나?
지금까지 공부를 하면서 git hub에 주먹구구 식으로 main에 push했다.
그러니까 한마디로 개발프로세스 같은건 없었다...(예전에 국비학원을 다니면서 팀원들과 팀프로젝트를 했을때에도 없었다.ㅎㅎㅎ)
개발 프로세스는 어떻게 이슈를 관리하고, 어떤 방식으로 작업을 진행하고, 완료작업은 어떻게 실제 제품에 반영시킬지를 규칙화 시킨것인데, 사실 혼자 하는 개인프로젝트라 협업이 필요 없는 과정이지만 체계화된 개발 프로세스 1인 프로젝트 개발에도 작업을 용이하고 매끄럽게 해줄것이기에 프로세스를 정립하고 개발에 들어가고 싶은것이다.
물론 지금 이 프로젝트를 완성하며 엄청난 삽질과 맨땅 고군분투가 기다리고 있을것을 안다.
그러니까 더, 더, 프로세스 정립이 필요한것이 아니겠나..생각했다.
📌Github Issues & Project
main 브랜치만 사용할 경우에 모든 commit이 한줄로 나열되고, git log를 통해 변경사항 찾기가 쉽지 않다.
Git에는 master에서 이슈 브랜치를 따는것과 같은 룰을 브랜칭 모델이라 부르고 브랜칭모델로 git flow와 github flow 등이 있다.
github flow는 git flow보다 비교적 간단한 워크플로우로 master브랜치 하나에 issue브랜치를 만들고 merge해서 push한 후엔 제거하는 방식이다.
github flow를 적용하기로 했다!
flow는 간단했다. 물론 처음하는거라 이것도 삽질을 해댔다.
master(main)브랜치 하나를 두고 이슈브랜치를 생성/제거하면서 쓰는것인데, 나는 project기능을 함께 쓰고 싶어서
github의 Project 보드의 todo에 이슈를 생성하면 issue에도 자동 연결이 되는지, 브랜치 생성이 되는지 알고 싶어서 테스트를 이것저것 해보았다.
💡나혼자 하는 개발이라 pr을 끼운다해도 리뷰요청을 할 사람은 없기 때문에 바로 merge한 후 push하면 어떨까 싶었으나 코드리뷰과정이 필요한가 싶었으나 이 과정이 더 안정적일 것이란 생각이 들었다.
이슈타이틀로 브랜치가 생성이 되서 한글로 막 적어버리면 안된다는것을 알게되었다..ㅎㅎ
라벨커스텀이나 브랜치 삭제 등등, 역시 삽질이 답이다. 해보니 워크플로우가 딱 들어왔다.
프로젝트 보드의 경우도 할일, 진행중, 끝난거 차례대로 옮기면 되서 직관적이었다.
테스트 중이라 지금 아무것도 없다.^^;
📌결론적으로 나의 개발 프로세스는!
1. Project Board로 할일 관리하기
2. issue 생성 -> issue를 만들면 프로젝트와 연동을 해두면 자동으로 to do에 들어옴!
3. issue branch 생성
✔️브랜치는 항상 master브랜치에서 생성한다.
✔️issue 네이밍은 어떤 작업을 할 수 있는지 직관적으로 알 수 있게끔 짓는다.
✔️commit 메세지를 명확하게 작성하자!
4. 만든 issue는 되도록 빠르게 작업하기
✔️ 원격지 브랜치로 수시로 push 하자
Git-flow와 상반되는 방식
항상 원격지에 자신이 하고 있는 일들을 올려 다른 사람들도 확인할 수 있도록 해준다
이는 하드웨어에 문제가 발생해 작업하던 부분이 없어지더라도, 원격지에 있는 소스를 받아서 작업할 수 있도록 해준다
5. 작업이 완료되면 pr하고( 나혼자 요청하고 리뷰지만 ㅇㅇ..) master브랜치로 merge하기
✔️곧장 product로 반영될 기능이므로, CI통과해야함
6. merge후에는 issue close후 그 브랜치 delete하고 new issue생성하기
✔️master로 merge되고 push 되었을 때는, 즉시 배포되어야한다
-GitHub-flow의 핵심
- master로 merge가 일어나면 자동으로 배포가 되도록 설정해놓는다
💡merge후 배포는 CD를 통해 자동으로 될 수 있도록 할 예정이다.
다음 포스팅에서 Github Actions를 통해 ci/cd파이프라인 구축을 해볼려고 한다.
커밋태그: 블라블라 #이슈번호
(필요에 따라서 자세한 설명)-> 엔터 한번 하고 그 다음줄에 씀
일단 이렇게 나혼자 하는 협업규칙 결정!
참고 : https://velog.io/@kw2577/Git-branch-%EC%A0%84%EB%9E%B5
'개인프로젝트' 카테고리의 다른 글
11 (0) | 2024.03.27 |
---|---|
DFA (0) | 2024.03.26 |
3. 객체간 연관관계와 ERD 설계 (0) | 2024.03.22 |
HH (0) | 2024.03.21 |
2. 기능별 비즈니스 로직 (0) | 2024.03.21 |