프로젝트 기능

GitLab에서 코드베이스를 호스팅 하기 위한 프로젝트를 생성하여, 이를 이슈 트래커로 사용하고, 코드에서 공동 작업하며, 내장된 GitLab CI/CD를 사용하여 앱을 지속적으로 빌드, 테스트 및 배포할 수 있습니다.

프로젝트는 원하는 대로 공개, 내부 또는 비공개로 사용할 수 있습니다. GitLab은 생성하는 비공개 프로젝트의 수를 제한하지 않습니다.

프로젝트 기능#

GitLab에서 프로젝트를 생성하면 다음과 같은 많은 기능에 액세스할 수 있습니다.

Repositories :

  • 저장소 : 완전히 통합된 플랫폼에서 코드 호스팅
    • 분기 : Git 브랜치 전략을 사용하여 코드 공동 작업
    • 보호된 브랜치 : 공동 작업자가 기록을 엉망으로 만들거나 리뷰 없이 코드를 푸시하는 것을 방지
    • 보호된 태그 : 태그를 만들 수 있는 권한을 가진 사용자를 제어하고, 실수로 업데이트 또는 삭제되는 것을 방지
    • 저장소 미러링
    • 커밋 서명 : GPG를 사용하여 커밋 서명
    • 배포 토큰 : 저장소 및 Container Registry에 영구적으로 액세스할 수 있는 프로젝트 기반 배포 토큰 관리
  • 웹 IDE : 커밋 스테이징 기능이 있는 고급 편집기를 제공하여 프로젝트 변경사항을 더 빠르고 쉽게 기여할 수 있음

Issues 및 Merge requests :

  • 이슈 트래커 : 이슈 내에서 팀과 구현 논의
    • 이슈 보드 : 워크플로우 구성 및 우선순위 지정
    • 다중 이슈 보드 : 팀이 동일한 프로젝트에 대해 고유한 워크플로우(이슈 보드)을 만들 수 있도록 허용
  • 병합 요청 : 분기 전략 적용 및 팀의 리뷰
    • 병합 요청 승인 : 변경사항을 구현하기 전에 승인 요청 (STARTER)
    • 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 패키지 레지스트리
  • 코드 소유자 : 특정 파일에 대한 코드 소유자 지정 (STARTER)
  • 라이선스 준수 : 프로젝트에 대한 라이선스를 승인 및 거부 (ULTIMATE)
  • 종속성 목록 : 프로젝트 종속성 보기 (ULTIMATE)
  • 요구 사항 : 제품을 확인할 기준을 만들 수 있는 요구사항 (ULTIMATE)
  • 정적 사이트 편집기 : 코드베이스 또는 Git 명령에 대한 사전 지식 없이 정적 웹 사이트의 콘텐츠를 빠르게 편집
  • 코드 인텔리전스 : 코드 내비게이션 기능

깃랩 문서 바로가기