프로젝트 기능
GitLab에서 코드베이스를 호스팅 하기 위한 프로젝트를 생성하여, 이를 이슈 트래커로 사용하고, 코드에서 공동 작업하며, 내장된 GitLab CI/CD를 사용하여 앱을 지속적으로 빌드, 테스트 및 배포할 수 있습니다.
프로젝트는 원하는 대로 공개, 내부 또는 비공개로 사용할 수 있습니다. GitLab은 생성하는 비공개 프로젝트의 수를 제한하지 않습니다.
프로젝트 기능
GitLab에서 프로젝트를 생성하면 다음과 같은 많은 기능에 액세스할 수 있습니다.
Repositories :
- 저장소 : 완전히 통합된 플랫폼에서 코드 호스팅
- 분기 : Git 브랜치 전략을 사용하여 코드 공동 작업
- 보호된 브랜치 : 공동 작업자가 기록을 엉망으로 만들거나 리뷰 없이 코드를 푸시하는 것을 방지
- 보호된 태그 : 태그를 만들 수 있는 권한을 가진 사용자를 제어하고, 실수로 업데이트 또는 삭제되는 것을 방지
- 저장소 미러링
- 커밋 서명 : GPG를 사용하여 커밋 서명
- 배포 토큰 : 저장소 및 Container Registry에 영구적으로 액세스할 수 있는 프로젝트 기반 배포 토큰 관리
- 웹 IDE : 커밋 스테이징 기능이 있는 고급 편집기를 제공하여 프로젝트 변경사항을 더 빠르고 쉽게 기여할 수 있음
Issues 및 Merge requests :
- 이슈 트래커 : 이슈 내에서 팀과 구현 논의
- 이슈 보드 : 워크플로우 구성 및 우선순위 지정
- 다중 이슈 보드 : 팀이 동일한 프로젝트에 대해 고유한 워크플로우(이슈 보드)을 만들 수 있도록 허용
- 병합 요청 : 분기 전략 적용 및 팀의 리뷰
- 병합 요청 승인 : 변경사항을 구현하기 전에 승인 요청
- UI에서 병합 충돌 수정 : GitLab의 UI에서 바로 Git diff 도구
- 앱 리뷰 : 브랜치 별로 병합 요청에서 제안된 변경 결과를 실시간 미리보기
- 레이블 : 레이블로 이슈 및 병합 요청 구성
- 시간 추적 : 이슈 또는 병합 요청의 결론에 대한 예상 시간 및 소요된 시간 추적
- 마일스톤 : 목표 날짜를 향해 작업
- 설명 템플릿 : 이슈 및 병합 요청의 설명 필드에 대한 컨텍스트 별 템플릿 정의
- 슬래시 명령 (퀵 액션) : 이슈 또는 병합 요청에 대한 일반적인 작업을 위한 텍스트 단축키
- 자동 완성 문자 : 사용자, 그룹, 이슈, 병합 요청 및 기타 GitLab 요소에 대한 자동 완성 참조
GitLab CI/CD :
- GitLab CI/CD : GitLab의 내장된 지속적 통합, 전달 및 배포 도구
- Container Registry : 즉시 사용할 수 있는 Docker 이미지 빌드 및 푸시
- Auto Deploy : 앱 배포를 자동으로 설정하도록 GitLab CI / CD 구성
- GitLab CI / CD 활성화 및 비활성화
- 파이프라인 : UI에서 GitLab CI/CD 파이프라인 구성 및 시각화
- 예약된 파이프라인 : 선택한 시간에 시작하도록 파이프라인 예약
- 파이프라인 그래프 : UI에서 전체 파이프라인 보기
- 작업 아티팩트 : 작업 아티팩트 정의, 찾아보기 및 다운로드
- 파이프라인 설정 : Git 전략 설정 (작업의 GitLab에서 리포지터리를 가져오는 기본 방법 선택), 시간 초과 (작업을 실행할 수 있는 최대 시간 (분) 정의),
.gitlab-ci.yml
에 대한 사용자 지정 경로, 테스트 커버리지 파싱, 파이프라인 가시성 등
- Kubernetes 클러스터 통합 : GitLab 프로젝트를 Kubernetes 클러스터와 연결
- Feature 플래그 : 기능 플래그를 사용하면 특정 기능을 동적으로 토글하여 다양한 유형으로 프로젝트를 제공
- GitLab Pages : GitLab Pages를 사용하여 정적 웹 사이트를 빌드, 테스트 및 배포
그 외 기능들 :
- Wiki : 통합된 Wiki에 GitLab 프로젝트를 문서화
- Snippets : 코드 스니펫을 저장, 공유 및 협업
- Value Stream Analytics : 개발 라이프사이클 검토
- Insights : 프로젝트에 중요한 인사이트를 구성 (ULTIMATE)
- Security Dashboard : 보안 대시보드 (ULTIMATE)
- Syntax highlighting : 코드 블록을 사용자 지정하는 대안으로 GitLab의 기본 언어 선택을 재정의
- Badges : 프로젝트 개요에 대한 배지
- Releases : 프로젝트의 결과물을 소스, 빌드 출력, 기타 메타 데이터 및 릴리즈 된 코드 버전과 관련된 기타 아티팩트의 스냅 샷으로 추적하는 방법
- Conan 패키지 : GitLab의 비공개 Conan 저장소
- Maven 패키지 : GitLab의 비공개 Maven 저장소
- NPM 패키지 : GitLab의 비공개 NPM 패키지 레지스트리
- 코드 소유자 : 특정 파일에 대한 코드 소유자 지정
- 라이선스 준수 : 프로젝트에 대한 라이선스를 승인 및 거부 (ULTIMATE)
- 종속성 목록 : 프로젝트 종속성 보기 (ULTIMATE)
- 요구 사항 : 제품을 확인할 기준을 만들 수 있는 요구사항 (ULTIMATE)
- 정적 사이트 편집기 : 코드베이스 또는 Git 명령에 대한 사전 지식 없이 정적 웹 사이트의 콘텐츠를 빠르게 편집
- 코드 인텔리전스 : 코드 내비게이션 기능
⚠️ 해당 콘텐츠는 저작권법에 의하여 보호 받는 저작물로 기고자에게 저작권이 있습니다.
⚠️ 사전 동의 없이 2차 가공 및 영리적인 이용을 금하며, 온·오프라인에 무단 전재 또는 유포할 수 없습니다.
⚠️ 사전 동의 없이 2차 가공 및 영리적인 이용을 금하며, 온·오프라인에 무단 전재 또는 유포할 수 없습니다.