프로젝트 생성

Tier: Free, Premium, Ultimate Offering: GitLab.com, Self-managed, GitLab Dedicated

GitLab에서는 여러 가지 방법으로 프로젝트를 생성할 수 있습니다.

빈 프로젝트 만들기

빈 프로젝트를 만들려면 다음 단계를 따르세요:

  1. 왼쪽 사이드바의 맨 위에서 새로 만들기() 및 새 프로젝트/리포지터리를 선택합니다.
  2. 빈 프로젝트 만들기를 선택합니다.
  3. 프로젝트 정보를 입력하세요:
    • 프로젝트 이름 필드에 프로젝트 이름을 입력합니다. 프로젝트 이름 제한 사항을 확인하세요.
    • 프로젝트 슬러그 필드에 프로젝트 경로를 입력합니다. GitLab 인스턴스는 슬러그를 프로젝트의 URL 경로로 사용합니다. 슬러그를 변경하려면 먼저 프로젝트 이름을 입력한 다음 슬러그를 변경하세요.
    • 프로젝트 배포 대상(선택사항) 필드에서 프로젝트의 배포 대상을 선택합니다. 이 정보는 GitLab이 사용자와 그들의 배포 요구 사항을 더 잘 이해하는 데 도움이 됩니다.
    • 사용자의 보기 및 액세스 권한을 변경하려면 가시성 수준을 변경하세요.
    • Git 리포지터리를 초기화하여 기본 브랜치가 생성되고 클론할 수 있는 README 파일을 만들려면 README 파일로 리포지터리 초기화를 선택하세요.
    • 프로젝트 내의 소스 코드를 분석하여 알려진 보안 취약점을 찾으려면 정적 애플리케이션 보안 테스트(SAST) 활성화를 선택하세요.
  4. 프로젝트 만들기를 선택하세요.

내장 템플릿에서 프로젝트 만들기

내장 프로젝트 템플릿은 새 프로젝트에 시작할 때 파일을 채워넣습니다. 내장 템플릿은 다음 그룹에서 가져옵니다:

누구나 내장 템플릿에 기여할 수 있습니다.

내장 템플릿에서 프로젝트를 만들려면 다음 단계를 따르세요:

  1. 왼쪽 사이드바의 맨 위에서 새로 만들기() 및 새 프로젝트/리포지터리를 선택합니다.
  2. 템플릿에서 만들기를 선택합니다.
  3. 내장 탭을 선택합니다.
  4. 템플릿 디렉터리에서:
    • 템플릿 미리 보기를 보려면 미리 보기를 선택하세요.
    • 프로젝트에 템플릿을 사용하려면 템플릿 사용을 선택하세요.
  5. 프로젝트 정보를 입력하세요:
    • 프로젝트 이름 필드에 프로젝트 이름을 입력하세요. 이름은 소문자 또는 대문자로 시작해야 하며(a-zA-Z), 숫자(0-9), 이모지, 언더스코어(_)로 시작할 수 있습니다. 또한 마침표(.), 더하기(+), 대시(-), 또는 공백을 포함할 수 있습니다.
    • 프로젝트 슬러그 필드에 프로젝트 경로를 입력하세요. GitLab 인스턴스는 슬러그를 프로젝트의 URL 경로로 사용합니다. 슬러그를 변경하려면 먼저 프로젝트 이름을 입력한 다음 슬러그를 변경하세요.
    • 프로젝트 설명(선택사항) 필드에 프로젝트 대시보드의 설명을 입력하세요. 설명은 500자로 제한됩니다.
    • 사용자의 보기 및 액세스 권한을 변경하려면 가시성 수준을 변경하세요.
  6. 프로젝트 만들기를 선택하세요.
note
내장 템플릿을 사용하여 프로젝트를 만들거나 가져오기한 사용자는 가져온 객체(이슈 및 Merge Request과 같은)의 저자로 표시되며, 가져오기 시의 원시 타임스탬프가 유지됩니다. 가져온 객체는 By <username> on <timestamp> (imported from GitLab)로 표시됩니다. 이로 인해 가져온 객체의 생성 날짜가 사용자 계정의 생성 날짜보다 오래 보일 수 있습니다. 때문에 객체가 사용자가 계정을 만들기 전에 생성된 것처럼 보일 수 있습니다.

사용자 정의 템플릿에서 프로젝트 만들기

Tier: Premium, Ultimate Offering: GitLab.com, Self-managed, GitLab Dedicated

사용자 정의 프로젝트 템플릿은 다음 곳에서 사용할 수 있습니다:

사용자 정의 템플릿에서 프로젝트를 만들려면 다음 단계를 따르세요:

  1. 왼쪽 사이드바의 맨 위에서 새로 만들기() 및 새 프로젝트/리포지터리를 선택합니다.
  2. 템플릿에서 만들기를 선택합니다.
  3. 인스턴스 또는 그룹 탭을 선택합니다.
  4. 템플릿 디렉터리에서:
    • 템플릿 미리 보기를 보려면 미리 보기를 선택하세요.
    • 프로젝트에 템플릿을 사용하려면 템플릿 사용을 선택하세요.
  5. 프로젝트 정보를 입력하세요:
    • 프로젝트 이름 필드에 프로젝트 이름을 입력하세요. 이름은 소문자 또는 대문자로 시작해야 하며(a-zA-Z), 숫자(0-9), 이모지, 언더스코어(_)로 시작할 수 있습니다. 또한 마침표(.), 더하기(+), 대시(-), 또는 공백을 포함할 수 있습니다.
    • 프로젝트 슬러그 필드에 프로젝트 경로를 입력하세요. GitLab 인스턴스는 슬러그를 프로젝트의 URL 경로로 사용합니다. 슬러그를 변경하려면 먼저 프로젝트 이름을 입력한 다음 슬러그를 변경하세요.
    • 프로젝트 설명(선택사항) 필드에 프로젝트 대시보드의 설명을 입력하세요. 설명은 500자로 제한됩니다.
    • 사용자의 보기 및 액세스 권한을 변경하려면 가시성 수준을 변경하세요.
  6. 프로젝트 만들기를 선택하세요.

HIPAA 감사 프로토콜 템플릿에서 프로젝트 만들기

Tier: Ultimate Offering: GitLab.com, Self-managed, GitLab Dedicated

HIPAA 감사 프로토콜 템플릿에는 미국 건강 및 인간 서비스부가 발표한 HIPAA 감사 프로토콜의 감사 조회를 위한 이슈가 포함되어 있습니다.

HIPAA 감사 프로토콜 템플릿에서 프로젝트를 만들려면 다음 단계를 따르세요:

  1. 왼쪽 사이드바의 맨 위에서 새로 만들기() 및 새 프로젝트/리포지터리를 선택합니다.
  2. 템플릿에서 만들기를 선택합니다.
  3. 내장 탭을 선택합니다.
  4. HIPAA 감사 프로토콜 템플릿을 찾으세요:
    • 템플릿 미리 보기를 보려면 미리 보기를 선택하세요.
    • 프로젝트에 템플릿을 사용하려면 템플릿 사용을 선택하세요.
  5. 프로젝트 정보를 입력하세요:
    • 프로젝트 이름 필드에 프로젝트 이름을 입력하세요. 이름은 소문자 또는 대문자로 시작해야 하며(a-zA-Z), 숫자(0-9), 이모지, 언더스코어(_)로 시작할 수 있습니다. 또한 마침표(.), 더하기(+), 대시(-), 또는 공백을 포함할 수 있습니다.
    • 프로젝트 슬러그 필드에 프로젝트 경로를 입력하세요. GitLab 인스턴스는 슬러그를 프로젝트의 URL 경로로 사용합니다. 슬러그를 변경하려면 먼저 프로젝트 이름을 입력한 다음 슬러그를 변경하세요.
    • 프로젝트 설명(선택사항) 필드에 프로젝트 대시보드의 설명을 입력하세요. 설명은 500자로 제한됩니다.
    • 사용자의 보기 및 액세스 권한을 변경하려면 가시성 수준을 변경하세요.
  6. 프로젝트 만들기를 선택하세요.

Git push로 새 프로젝트 만들기

로컬 프로젝트 리포지터리를 GitLab에 푸시하려면 git push를 사용합니다. 리포지터리를 푸시한 후에는 GitLab이 선택한 네임스페이스에 프로젝트를 만듭니다.

git push를 사용하여 다음과 같은 프로젝트 경로로 프로젝트를 만들 수 없습니다.

이전에 사용된 프로젝트 경로에는 리디렉션이 있습니다. 이 리디렉션으로 인해 새 프로젝트를 만드는 대신 푸시 시도가 이름이 바뀐 프로젝트 위치로 리디렉트 요청됩니다. 이전에 사용되었거나 이름이 바뀐 프로젝트에 새 프로젝트를 만들려면 UI나 프로젝트 API를 사용하세요.

필수 컴포넌트:

  • SSH로 푸시하려면 GitLab 계정에 추가된 SSH 키가 있어야 합니다.
  • 새 프로젝트를 네임스페이스에 추가할 권한이 있어야 합니다. 권한이 있는지 확인하려면:

    1. 왼쪽 사이드바에서 검색 또는 이동을 선택하여 그룹을 찾습니다.
    2. 오른쪽 상단 모서리에서 새 프로젝트가 표시되는지 확인하세요. 권한이 필요하면 GitLab 관리자에게 문의하세요.

리포지터리를 푸시하고 프로젝트를 만들려면:

  1. SSH 또는 HTTPS로 푸시:
    • SSH로 푸시하려면:

      # 프로젝트가 표준 포트 22를 사용하는 경우 이 버전을 사용하세요
      $ git push --set-upstream git@gitlab.example.com:namespace/myproject.git main
           
      # 프로젝트가 비표준 포트 번호를 필요로 하는 경우 이 버전을 사용하세요
      $ git push --set-upstream ssh://git@gitlab.example.com:00/namespace/myproject.git main
      
    • HTTPS로 푸시하려면:

      git push --set-upstream https://gitlab.example.com/namespace/myproject.git master
      
    • gitlab.example.com에는 Git 리포지터리를 호스팅하는 기계의 도메인 이름을 사용하세요.
    • namespace에는 네임스페이스의 이름을 사용하세요.
    • myproject에는 프로젝트의 이름을 사용하세요.
    • 포트를 지정하는 경우 00을 프로젝트의 필요한 포트 번호로 변경하세요.
    • 기존 리포지터리 태그를 내보내려면 git push 명령에 --tags 플래그를 추가하세요.
  2. 옵션. 원격 리포지터리를 구성하려면:

    git remote add origin https://gitlab.example.com/namespace/myproject.git
    

푸시가 완료되면 GitLab에서 다음 메시지를 표시합니다:

remote: The private project namespace/myproject was created.

새 프로젝트를 보려면 https://gitlab.example.com/namespace/myproject로 이동하세요. 프로젝트의 가시성은 기본적으로 비공개로 설정됩니다. 프로젝트 가시성을 변경하려면 프로젝트 설정을 조정하세요.

SHA-256 해싱을 사용하는 프로젝트 만들기

상태: 실험
Self-managed GitLab에서는 기본적으로 이 기능을 사용할 수 없습니다. 사용하려면 관리자가 support_sha256_repositories라는 피처 플래그를 활성화해야 합니다.

SHA-256 해싱을 선택하려면 프로젝트를 만들 때만 가능합니다.

SHA-256 해싱을 사용하는 프로젝트를 만들려면:

  1. 왼쪽 사이드바에서 가장 위에 있는 새로 만들기() 및 새 프로젝트/리포지터리를 선택합니다.
  2. 빈 프로젝트 만들기를 선택하고 프로젝트 세부 정보를 평소대로 입력합니다. 프로젝트 세부 정보에 대한 자세한 내용은 빈 프로젝트 만들기를 참조하세요.
  3. 프로젝트 구성 영역에서 실험적인 설정을 눌러 아코디언을 확장합니다.
  4. 데이터베이스 해싱 알고리즘으로 SHA-256 사용을 선택합니다.
  5. 프로젝트 생성을 선택합니다.
caution
Git은 나중에 SHA-256로 마이그레이션하거나 SHA-1로 다시 마이그레이션하는 것을 지원하지 않습니다.

왜 SHA-256인가요?

기본적으로 Git은 커밋, 블롭, 트리, 태그와 같은 객체를 생성하기 위해 SHA-1 해싱 알고리즘을 사용합니다. SHA-1 알고리즘은 해시 충돌을 생성할 수 있는 것으로 판명되었습니다. Git 프로젝트는 객체를 저장하는 방식 덕분에 아직 이러한 유형의 공격에 영향을 받지는 않았지만, 언젠가는 SHA-1에 대한 새로운 공격이 Git에 영향을 미칠 것으로 예상됩니다.

SHA-256 리포지터리에서는 이 알고리즘으로 40자가 아닌 64자 ID가 생성됩니다. Git 프로젝트는 SHA-256 기능이 안전하다고 판단하여 실험 라벨을 제거했을 때 SHA-256를 사용하는 것이 안전하다고 결정했습니다.

NIST 및 CISA와 같은 연방 규정은 2030년까지 SHA-1 사용을 중단하도록 하고 있으며, 가능한 빨리 SHA-1 사용을 중지하도록 권장한 가이드라인을 시행하고 있는 FedRamp과 같은 기관도 있습니다.

관련 주제