Git 전략 수립

유민국·2023년 6월 21일
0

Git Branch 전략

  • Git은 Branch를 통해 다양한 전략수립이 가능하며 Agile방법론과 병행이 유리
  • master : 운영 배보 환경
  • develop : 개발 환경
  • release branch : 버전별 관리
  • feature branch : 기능별 분리 관리
  • hotfixes : 버그픽스에 활용

DevOps : 개발과 운영을 합침

  • SI : 기간내 프로젝트 개발
  • SM : 서비스 운영 담당자 -> 서비스가 문제가 없도록 잘 도와주는 역할
    연속성이 없어서 SI/SM 통합을 함

develop

  • Git Flow를 이용한 모든 브랜치 생성
  • 개별 정책을 이용한 일부 브랜치 활용

release

  • develop에서 가져오고 양쪽다 merge를 한다

Hot fix

  • main에서 가져와서 동일하게 hitfit를 만듦

feature

develop에서 가져와서 만들고 merge

자동 배포 전략

git flow init

  • git Flow를 이용한 전략 수립
  • 브랜치가 많아져서 권장하지는 않음

ex)
feature 브랜치 생성(develop에 merge후 삭제됨)

git flow feature start feature_branch

수정 완료 후

git flow feature finish feature_branch

실습

  • 개발환경 GIT전략 적용
    -> branch 적용하기

workflow 사용 시

  • release는 main, develop에 merge
  • feature는 develop에 merge
  • hotfix는 main에서 생성
  • release와 feature는 develop에서 생성

핵심

  • 기능분해가 중요함
  • 계획성 있는 배포 전략이 필요함
  • 파트장 승인을 통한 Merge 수행
  • 이 시점에 코드리뷰를 통해 검증 수행

배포전략수립

Rolling updata

  • 사용중인 인스턴스에 점진적으로 교체

Git의 활용

Git전략과 프로젝트의 연계

  • 배포 태킹 전략 수립
    ) commit시 해당 규칙 정리
    ) 요구사항 번호 수립 #231
    ) 기능, 비기능 헤더 수립
    ) 개발 서버와 운영서버 분리
    ) prod 전략 -> 운영서버 연계
    ) develop 브랜치 -> 개발서버 연계
    ) 수동 배포 - crontab 또는 Git clone 활용
    ) 자동 배포 - Jenkins 운영 계획 수립

코드 리뷰

  • merge 수행 시 코드 리뷰
  • 코드 collision 발생 시 모두 함께 해결
  • 코드 표준화
    ) 주석 처리 규칙
    ) 메소드 명명 규칙 지정
    ) 파라미터 규칙 지정
    ) 인터페이스 규칙 : 아직 개발 중인 경우 약속 수립
  • 코드 리뷰 레벨
    ) 동료 검토
    ) 코드 리뷰 : 비공식적인 리뷰 수행
    ) 인스펙션
    )) 공식적인 리뷰 수행
    )) 작성자가 아닌 다른 사람이 읽는다.
    )) 작성자가 아닌 다른 사람이 기록
    )) 모데라토(중재자)의 의견을 따른다
    ) 규칙위반사례 찾기, 재사용성 찾기, 협의하기
profile
안녕하세요 😊

0개의 댓글