Merge(머지)란 개발 브랜치(Develop Branch)를 검증 브랜치(Main Branch)에 이관하는 작업으로 개발 환경의 소스를 검증 환경으로 병합하는 과정입니다.
멤버는 개발 브랜치를 검증 브랜치로 Merge 요청하고, 프로젝트 관리자는 Merge 요청된 내역을 확인하고 승인합니다.
프로젝트 권한 | Git Repository 권한 | Merge 사용 기능 |
---|---|---|
프로젝트 관리자 | Maintainer | Merge Request 생성, Merge 승인 |
멤버 | Developer | Merge Request 생성 |
게스트 | Reporter | 모두 사용할 수 없음 |
Merge Request의 자세한 설명은 Git 매뉴얼을 참고해 주세요.
Merge Requests 조회
개발 브랜치를 검증 브랜치에 Merge 요청한 목록을 확인합니다.
1
[Merge Request] 메뉴를 선택하여 사용자가 포함된 프로젝트 카드 목록을 확인합니다.
2
화면 상단에 프로젝트 구분 탭을 사용하여 상태 별 프로젝트 목록을 확인할 수 있으며 기본 상태 값은 [Running]입니다. [All] 탭 선택 시 전체 프로젝트 목록을 확인할 수 있습니다.
3
[Merge Requests] 메뉴 선택 시 사용자가 assignee(Merge 승인자)로 등록된 My Assigned 카드가 선택됩니다.
4
My Assigned를 포함하여 모든 프로젝트는 카드 형태로 나타나며 각 프로젝트에 생성된 서버(DB 제외) 클릭 시 해당 서버의 전체 Merge Request 내역을 확인할 수 있습니다.
5
서버 선택 시 “Open” 상태의 Request 목록이 조회됩니다.
- Merge Request는 Open, Merged, Closed 3가지 상태가 있습니다.
Merge Request 상태 | 설명 |
---|---|
Open | 개발 브랜치(develop)가 검증 브랜치(main)로 Merge 요청된 상태 |
Merged | 개발 브랜치(develop)가 검증 브랜치(main)로 Merge 승인된 상태 |
Closed | Merge가 거부된 상태, Merge되지 않고 종료된 상태 |
6
Request 목록의 제목 클릭 시 GitLab(Git Repository)으로 이동하여 선택한 Merge Request 상세 정보를 확인합니다.
[More] 버튼을 클릭하면 선택된 서버의 전체 Merge Request 목록을 확인할 수 있는 Git Repository로 이동합니다.
Merge Requests 추가
개발 브랜치를 검증 브랜치로 병합(Merge) 요청하는 과정으로 프로젝트 관리자 및 멤버 권한의 사용자가 사용할 수 있습니다.
1
Merge 진행할 서버의 Git Repository로 이동하여 [Code > Merge Requests] 메뉴로 이동합니다.
2
Merge requests 메뉴로 이동하여 [New merge request] 버튼을 클릭합니다.
3
Source branch는 Merge 요청할 Develop Branch를 Target branch는 반영할 Main Branch를 선택합니다.
4
브랜치가 선택 되었다면 [Compare branches and continue] 버튼을 클릭하여 Merge request 추가 작성 화면으로 이동합니다.
브랜치 선택이 잘못된 경우 화면의 Error 메시지가 노출되며 Merge Request가 진행되지 않습니다.
5
Merge request의 내용을 입력합니다.
1Merge할 개발 브랜치(develop)과 반영될 검증 브랜치(main)를 확인합니다.
2주요 커밋 메시지를 타이틀로 작성합니다.
3커밋 메시지 적용 항목 및 설명을 작성합니다.
4Merge Request를 승인하여 Merge 반영할 승인자를 선택합니다. Assignee를 선택할 경우 지정된 Merge 승인자는 포털의 Merge request > My Assigned 카드에서 해당 내용을 확인할 수 있습니다.
5Delete source branch when merge request is accepted. 체크를 반드시 해제합니다. 해제하지 않으면 개발 브랜치(develop)는 삭제됩니다.
6
작성 완료 후 [Create merge request] 버튼을 클릭하여 Merge 요청을 완료합니다.
브랜치 Merge
프로젝트에 추가된 Merge 요청 목록을 확인하고 승인합니다. Merge 승인은 Git Repository에 Maintainer 권한인 프로젝트 관리자 권한만 사용할 수 있습니다.
1
프로젝트 관리자에게 할당된 Merge 요청 내역을 확인한 후, 승인할 제목을 클릭하여 Git Repository의 Merge Requests 상세 화면으로 이동합니다.
2
GitLab에 접속한 계정이 Merge 승인자의 경우 [Merge] 버튼이 노출됩니다. Merge할 개발 브랜치의 수정 내역을 확인하고 Merge 버튼을 클릭하면 승인되어 Open 상태가 Merged 상태로 변경됩니다.
만약 Merge 확인 창에 ‘Delete source branch’ 가 체크되어 있다면 화면에서 체크 박스를 반드시 해제해 주세요. 체크 후 Merge 진행 시 개발 브랜치가 삭제됩니다.
3
Merge 승인되면 검증 브랜치 빌드가 자동으로 진행됩니다. 진행 내역은 하단 Pipeline을 통해 확인할 수 있습니다.
운영 태그(release-*) 관리
TobeDevOps는 프로젝트 검증 브랜치를 운영 환경에 배포하는 방법으로 git 태그(tag) 기능을 사용하여 버전을 관리합니다.
TobeDevOps에서 제공하는 빌드 기능은 태그(release-*) 명칭에 규칙이 적용됩니다.
위 규칙에 따라 검증 브랜치의 소스를 태깅하면 자동으로 운영 환경에 빌드가 진행되며 프로젝트 관리자만 태깅할 수 있습니다.
태그 확인하기
1
태그를 확인할 서버의 Git Repository로 이동합니다.
프로젝트 구성의 컨테이너 정보에서 각 컨테이너의 Git URL을 통해 Repository로 이동하거나 [빌드 > 프로젝트 카드 > STG 탭]의 Pipeline 메시지를 클릭하여 이동할 수 있습니다.
2
이동한 화면에서 [Gitlab > Code > Tags] 메뉴로 이동하여 태그된 목록을 확인합니다.
태그 생성하기
1
[Tags] 메뉴의 우측 상단 [New tag] 버튼을 클릭하여 태그 생성 화면으로 이동합니다.
2
태깅할 브랜치를 선택하고 태그명을 작성하여 새로운 태그를 생성합니다.
1[Tag name]에서 사용할 태그명을 태그 명명 규칙을 준수하여 작성합니다. release- 로 생성된 태그만 자동 빌드되며 태그명은 버전 관리를 위해 release-x.x.x(major, minor, patch) 형식을 권장합니다.
2[Create Form]에서 태깅 할 브랜치를 선택합니다. 반드시 검증 브랜치를 선택해 주세요.
3[Message]에서 태그 정보를 작성합니다. 메시지 입력은 별도 양식 없이 자유롭게 작성할 수 있습니다.
3
태그 생성 정보를 입력하고 [Create tag]버튼을 클릭하여 생성한 태그를 확인합니다.
- release-* 규칙에 맞게 태그를 생성하였을 경우, 빌드 메뉴에서 운영 환경이 자동 빌드 되는 것을 확인할 수 있습니다.