https://docs.gitlab.co.jp/ee/topics/gitlab_flow.html
Git-flow는 Git이 새롭게 활성화되기 시작하는 10년전 쯤에 Vincent Driessen이라는 사람의 블로그 글에 의해 널리 퍼지기 시작했고 현재는 Git으로 개발할 때 거의 표준과 같이 사용되는 방법론입니다.
말하자면 Git-flow는 기능이 아니고 서로간의 약속인 방법론이라는 점입니다. Vincent Driessen도 언급했듯이 Git-flow가 완벽한 방법론은 아니고 각자 개발 환경에 따라 수정하고 변형해서 사용하라고 언급했습니다.
Git-flow는 총 5가지의 브랜치를 사용해서 운영을 합니다.
- master : 기준이 되는 브랜치로 제품을 배포하는 브랜치 입니다.
- develop : 개발 브랜치로 개발자들이 이 브랜치를 기준으로 각자 작업한 기능들을 합(Merge)칩니다.
- feature : 단위 기능을 개발하는 브랜치로 기능 개발이 완료되면 develop 브랜치에 합칩니다.
- release : 배포를 위해 master 브랜치로 보내기 전에 먼저 QA(품질검사)를 하기위한 브랜치 입니다.
- hotfix : master 브랜치로 배포를 했는데 버그가 생겼을 떄 긴급 수정하는 브랜치 입니다.
출처: https://uxgjs.tistory.com/183?category=832417 [UX 공작소:티스토리]
용어
- <Company> 프로젝트: <Company>에서 관리하는 단위. 서비스 하나에 프로젝트가 하나 매핑될 수도 있고, 여러 개의 프로젝트가 하나의 서비스에 매핑될 수도 있다.
- 깃랩 그룹: 깃랩에서 관리하는 논리적인 그룹. 그룹 하위에 프로젝트를 생성할 수 있으며, 사용자가 그룹 권한을 가지면, 그룹에 생성된 프로젝트에 그 권한이 상속된다.
- 깃랩 프로젝트: 깃랩에서 사용하는 레파지토리의 단위. 프로젝트 단위로 코드를 관리할 수 있다.
GitLab의 권한 체계
기능 | Owner | Maintainer | Developer | Reporter | Guest | |
GitLab Group | SubGroup 생성 | O | ||||
GitLab Project 생성 | O | O | ||||
GitLab Group Member 관리 | O | |||||
GitLab Group 조회 | O | O | O | O | O | |
GitLab Group 수정/삭제 | O | |||||
GItLab Project | Code 다운로드 | O | O | O | O | |
이슈 생성 | O | O | O | O | ? | |
Merge Request 생성 | O | O | O | |||
신규 Branch 생성/접근 | O | O | O | |||
Protected Branch 관리/변경 | O | O | ||||
Member 추가 | O | O |
GitLab Group과 Project 생성 규칙
GitLab Group |
GitLab Project |
Description | 운영 방안 | Owner | Maintainer | Maintainer | Reporter |
프로젝트 명 | Company에서 관리하는 프로젝트의 구분에 따라 브랜드 하위에 subgroup 생성. 하위의 프로젝트 관리 권한 양도가 필요할 경우 개발/운영사의 매니저에게 Maintainer 권한 부여 |
프로젝트 단위로 Company에서 Subgroup을 생성하고, Subgroup 내의 프로젝트 생성을 위해 개발/운영사에게 Maintainer 권한을 부여한다 |
Company | Company & 개발/운영사 매니저 |
|||
어플리케이션 | 개발/운영사 혹은 Company TechPM이 프로젝트를 생성하고, 필요한 엔지니어에게 적합한 권한을 부여한다 (Maintainer/Developer/Reporter) |
Company | (Company & 개발/운영사 매니저) & 개발/운영사 PL 혹은 개발 리더 | 개발/ 운영사 개발자 |
테스트 수행 인력 |
GitLab Group과 GitLab Project 명명규칙
- 그룹과 프로젝트의 이름은 공백이 없는 영문소문자, 숫자, - 값만 사용한다.
- 한글 설명이나, 너무 긴 명칭은 영어 혹은 약어로 변경한 후, 프로젝트의 Description에 기술한다.
- 단어의 구분이 필요할 경우, 사이에 - 를 넣는다.
- 깃랩 그룹 이름은 <프로젝트명>-service의 규칙을 사용한다
- 깃랩 프로젝트 이름은 <프로젝트명>-<서비스명>의 규칙을 따르나, prefix를 추가해도 된다.
- <프로젝트명>과 <서비스명>은 가능하면 Company에서 정의한 공식 명칭을 사용한다.
그룹 생성 방법
- 상단 메뉴에서 'Groups > Your Groups' 메뉴를 클릭합니다.
- 오른쪽 상단의 'New Group' 버튼을 클릭합니다.
- Group Name과 Description을 입력합니다.
- 'Visibility Level'을 'Private'으로 선택합니다.
- 'Create group' 버튼을 클릭합니다.
프로젝트 생성 방법
- 상단 메뉴에서 'Groups > Your Groups' 메뉴를 클릭합니다.
- 프로젝트를 생성할 그룹의 이름을 클릭하여, 그룹 Overview 화면으로 이동합니다.
- 'New project' 버튼을 클릭합니다.
- Project name과 description을 입력합니다.
- 'Visibility Level'을 'Private'으로 선택합니다.
- 'Create project' 버튼을 클릭합니다.
출처: https://techwiki.tistory.com/14 [IT곰곰의 Note:티스토리]
'Tech > ETC ( IT.BIZ)' 카테고리의 다른 글
오픈소스 ( Open Source Software ) (0) | 2024.10.28 |
---|---|
SSL(Secure Sockets Layer)을 통해 LDAP(Lightweight Directory Access Protocol) (0) | 2023.11.28 |
OWASP ZAP (0) | 2023.09.11 |
Apache Jmeter (0) | 2023.09.04 |
공인 SSL 인증서 (0) | 2023.07.31 |