TobeDevOps - Gitlab 연동 규칙

TobeDevOps는 애플리케이션의 배포와 운영에 관련된 모든 요소를 Git에서 관리/ 운영하기 위해 GitOps 방식을 사용하며 GitLab을 통한 빌드 자동화가 이루어집니다.

Git Repository에 Push/Merge 등의 이벤트가 발생했을 경우 테스트/빌드/배포와 같은 작업을 자동으로 수행하기 위해 GitLab CI/CD Pipeline을 사용하며 포털에는 Merge Request, Bulid, Issue 기능이 연동되어 있습니다.

포털을 통해 프로젝트에서 생성한 WEB, WAS, XENI 구분 별 Git Repository가 생성되며 생성된 Repository는 [프로젝트 > 프로젝트 개요 > 프로젝트 구성 > 컨테이너 정보 탭]에서 확인할 수 있습니다.

이미지_2024-07-29_181604208

Gitlab은 포털에서 생성한 계정과 KeyCloak으로 연동되며 최초 접근 시 포털 로그인 과정이 추가로 필요합니다.

이미지_2024-07-29_181621780

포털에서 제공되는 기능은 GitLab을 통해 직접 사용할 수 있으며 세부적인 내용을 추가로 확인할 수 있습니다.

이미지_2024-07-30_114633341

프로젝트에 추가된 DB를 제외한 서버(컨테이너)에 생성된 배포 환경(PRD, STG, DEV)은 Git Repository의 브랜치와 태그로 구분됩니다.

배포 환경

용도

브랜치, 태그

PRD

프로젝트 운영

운영(release-*) 태그

STG

프로젝트 검증

검증(main) 브랜치

DEV

프로젝트 개발

개발(develop) 브랜치

프로젝트 권한에 따라 Git Repository에서 갖는 권한이 달라지며 사용 기능이 제한됩니다.

사용 위치

GitLab 권한

Maintainer

Developer

Guest

Repository 기능

프로젝트 관리자

프로젝트 멤버

게스트

Main Branch

빌드

O

X

X

태깅

O

X

X

Merge 승인

O

X

X

Merge 요청

O

O

X

Develop Branch

소스 수정

O

O

X

빌드

O

O

X

-

이슈 Open

O

O

O

이슈 Close

O

O

O

Gitlab에서 사용되는 권한 설명은 Gitlab Roles 문서를 참고해 주세요.