Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Journey of Dash's release-cycle

Buzzvil
January 28, 2022

Journey of Dash's release-cycle

By Luke

Buzzvil

January 28, 2022
Tweet

More Decks by Buzzvil

Other Decks in Programming

Transcript

  1. Copyright ⓒ All Right Reserved by Buzzvil 문제점들 - 피쳐단위로

    QA를 진행해야 하기 때문에 리그레이션 테스트를 진행하기 어려움 - 새로추가되는 기능들에 대한 커뮤니케이션의 어려움 - QA를 하긴했지만 테스트가 부족한 기능들.
  2. Copyright ⓒ All Right Reserved by Buzzvil Release cycle 도입으로

    얻고 싶었던점들 - 스프린트와 맞물려서 돌아가는 릴리즈 주기 - 산발적으로 일어나는 QA 요청을 릴리즈 주기에 맞추어 QA리소스 최적화를 하고 싶었음 - 주기적인 배포를 통한 커뮤니케이션 비용 최소화 - + 너무 어렵지 않은 워크 프로세스야 한다.
  3. Copyright ⓒ All Right Reserved by Buzzvil Trunk base development에서

    제시하는 개발 스타일 - Committing straight to the trunk - Short-Lived Feature Branches - Patch Review System
  4. Copyright ⓒ All Right Reserved by Buzzvil Committing straight to

    the trunk - 작은 팀에게 어울림 - 코드 리뷰 시스템보단 페어프로그래밍으로 코드를 검증하는 방식을 추천 - 누군가 빌드를 깰수도 있는 커밋을 푸시할 수도 있음
  5. Copyright ⓒ All Right Reserved by Buzzvil Short-Lived Feature Branches

    - 기존에 사용하던 익숙한 방식 - 가능한 작은 단위의 피쳐 브랜치를 생성 후 Pull request 리뷰를 통해 마스터로 머지된다.
  6. Copyright ⓒ All Right Reserved by Buzzvil Patch Review System

    (Continuous code review) - 엔터프라이즈급에 어울림 - Gerrit, Rietveld, Phabricator 와 같은 서비스를 이용
  7. Copyright ⓒ All Right Reserved by Buzzvil 배포 방법 -

    Release from trunk - Branch for release
  8. Copyright ⓒ All Right Reserved by Buzzvil Release from trunk

    Trunk에서 직접 배포하는 방법 릴리즈 주기가 짧은팀에게 적합
  9. Copyright ⓒ All Right Reserved by Buzzvil Branch for release

    - 릴리즈 브랜치를 사용하는 방법
  10. Copyright ⓒ All Right Reserved by Buzzvil Observed habits -

    No Code Freeze - Quick Reviews - Chasing HEAD - Running the build locally - Always Release Ready
  11. Copyright ⓒ All Right Reserved by Buzzvil You're doing it

    wrong - Cherry-pick of bug fixes from release branches to the trunk - Merging rather than cherry-pick to/from a release branch - Duration of ‘short-lived’ feature branches - Numbers of developers on ‘short-lived’ feature branches - Keeping a single release branch - Merge from one release branch to another release branch - Merge everything back from a release branch at the end of the release branch
  12. Copyright ⓒ All Right Reserved by Buzzvil Dash versioning 대시에서는

    SemVer(Semantic versioning) 의 포멧을 저희 유즈케이스에 맞게 변경해서 사용하고 있습니다. 2.32.0-beta.1 Major.Minor.Patch-Pre releasetag.deploy_number