GitLab 권장 프로세스

아래의 그림은 동시 개발 생명주기에서 GitLab을 사용하는 동안 DevOps 팀에게 권장하는 GitLab FLOW 프로세스입니다.

1단계 - 이슈(Issue) 만들기

GitLab에서의 모든 변경 사항은 이슈(Issue)로 시작됩니다. 

이슈를 사용하면 사용자, 팀, 공동 작업자가 구현하기 전과 구현하는 동안 제안을 공유하고 논의할 수 있습니다. 하지만 필요에 따라 조직의 워크플로에 맞게 커스터마이징하여 다양한 다른 용도로도 사용할 수 있습니다.

이슈는 항상 특정 프로젝트와 연결되지만 그룹에 여러 프로젝트가 있는 경우 그룹 수준에서 모든 이슈를 일괄적으로 볼 수도 있습니다.

일반적인 사용 사례는 다음과 같습니다.

  • 새로운 아이디어 구현 논의

  • 작업 및 작업 상태 추적

  • 기능 제안, 질문, 지원 요청 또는 버그 보고서 수락

  • 새로운 코드 구현에 대해 자세히 설명

2단계 - Merge Request 생성

이슈를 생성하고 변경 사항 및 추가 요청 사항을 등록하면 Merge Request를 생성하여 CI/CD 프로세스를 시작합니다.

Merge Request를 사용하면 지정된 Git 브랜치에 커밋으로 존재하는 소스 코드에 대해 제안된 변경 사항을 시각화하고 협업할 수 있습니다. 

Pull Request라고 하는 병합 요청을 들을 수 있습니다.

3단계 - 변경 사항 Commit

Merge Request가 제출되면 변경 사항을 Commit하여 CI 파이프라인을 시작합니다.

이 단계는 리뷰 프로세스가 시작되고 변경이 필요할 때마다 반복(재사용)됩니다.

4단계 - CI 파이프라인 실행

이 단계에서 CI 파이프라인은 코드 빌드를 실행 및 시작하고, 자동화 테스트를 실행하고, 스테이징 환경에 브랜치를 배포합니다.

오류, 충돌 또는 기타 문제가 있는 경우 파이프라인이 실패하고 문제를 조사할 수 있도록 실패에 대한 적절한 오류 메시지를 제공합니다. 

5단계 - Review App

리뷰 앱은 Merge Request에 대한 동적 환경을 호출하여 Feature 브랜치에서 변경한 내용을 자동으로 실시간 확인을 지원 합니다.

디자이너와 제품 관리자가 브랜치를 체크 아웃하고 샌드박스 환경에서 변경 사항을 실행할 필요 없이 변경 사항을 확인할 수 있습니다.

6단계 - Peer Review & 토론

이 단계에서는 동료 또는 이해관계자가 리뷰 앱에서 변경 내용을 검토하고 Commit을 완료하기 전에 수정해야 할 충돌이나 수정 사항이 없는지 확인합니다.

7단계 - 변경 승인

동료/이해관계자 검토가 완료되면 병합 권한이 있는 사람이 변경 사항을 승인해야 합니다.

8단계 - Merge; 이슈 종료, CD(Continuous Delivery) 파이프라인 실행

Merge Request가 승인되면 제안된 변경 사항이 마스터에 Merge되고 이슈가 종료됩니다.

CD(Continuous Delivery) 파이프라인은 프로덕션 환경에 변경 사항을 배포하고 변경 사항은 시스템에 적용됩니다.  

9단계 - 모니터

이 단계에서는 앱을 모니터링하여 변경 사항이 원하는 기능을 수행하는지 확인합니다. 

GitLab을 사용하면 문제가 있거나 프로덕션에서 추가 조치가 필요한 사항이 나타나는 경우 변경 사항을 쉽게 롤백(Roll back)할 수 있습니다.