Skip to content

03. Git Flows & CI CD

Jaewon Kim edited this page Nov 12, 2019 · 7 revisions

Git flow / CI/CD

김김이조 git flow

배포 사이클

  • master: 리얼 서버에 배포되는 서비스
  • hotfix: 리얼 서버에서 긴급상황 발생시 사용
  • realease: realease/v0.0 형식으로 생성, 스프린트 단위로 버저닝 계획

개발 사이클

  • develop: develop 개발메인 브랜치
  • feature: feature/issue1 기능개발 브랜치

Git flow

  1. 스프린트 마다 feature들을 선정 및 작성한다.
  2. develop에서 feature를 따서 작업을 한다.
  3. 작업이 끝난 feature 는 develop 으로 머지된다.
  4. 스프린트 단위로 작업이 끝나면 develop 에서 realease로 머지가 된다.(버전 관리)
  5. release에서 QA 이상이 없을 시, 해당 버전이 master 로 배포가 된다.(이때, 병합한 커밋에 Release 버전 태그를 부여!)
  6. QA에서 버그 발생시 hotfix 또는 다음 스프린트 계획으로 작업한다.

CI/CD

  • CI : feature -> Test -> develop
  • CD : release -> Deploy -> master

git flow 및 버전 관리 참고 자료

CI/CD

CI /CD 란?

"CI"는 개발자를 위한 자동화 프로세스인 지속적인 통합(Continuous Integration)을 의미한다.

CI를 성공적으로 구현할 경우 애플리케이션에 대한 새로운 코드 변경 사항이 정기적으로 빌드 및 테스트되어 공유 리포지토리에 병합되므로 여러 명의 개발자가 동시에 애플리케이션 개발과 관련된 코드 작업을 할 경우 서로 충돌할 수 있는 문제를 해결할 수 있다.

"CD"는 지속적인 서비스 제공(Continuous Delivery) 및/또는 지속적인 배포(Continuous Deployment)를 의미하며 이 두 용어는 상호 교환적으로 사용된다.

두 가지 의미 모두 파이프라인의 추가 단계에 대한 자동화를 뜻하지만 때로는 얼마나 많은 자동화가 이루어지고 있는지를 설명하기 위해 별도로 사용되기도 한다.

git actions

work flows

Continuous Integration

Continuous Deployment

클라우드 인스턴스 구성

  • dropy-web
  • dropy-api
  • dropy-converter
  • dropy-db
Clone this wiki locally