프로젝트 생성

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

GitLab에서는 다양한 방법으로 프로젝트를 생성할 수 있습니다.

공백 프로젝트 생성

공백 프로젝트를 생성하려면:

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

내장된 템플릿으로 프로젝트 생성

내장된 프로젝트 템플릿을 사용하여 새 프로젝트를 파일로 채웁니다. 내장된 템플릿은 다음 그룹에서 가져옵니다:

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

내장된 템플릿에서 프로젝트를 만들려면:

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

노트: 템플릿에서 프로젝트를 만든 사용자 또는 가져오기하면 가져온 개체(이슈 및 Merge Request 등)의 작성자로 표시됩니다. 이는 템플릿이나 가져오기의 원래 타임스탬프를 유지합니다. 가져온 개체는 사용자명이 작성함 <타임스탬프> (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 푸시로 새 프로젝트 만들기

로컬 프로젝트 리포지터리를 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을 프로젝트의 필요한 포트 번호로 변경하세요.
    • 기존 리포지터리 태그를 내보내려면 --tags 플래그를 git push 명령에 추가하세요.
  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 해싱을 사용하는 프로젝트 만들기

Status: Experiment
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은 커밋, 블롭, 트리, 태그 등의 객체에 대한 40자의 ID를 생성하기 위해 SHA-1 해싱 알고리즘을 사용합니다. SHA-1 알고리즘이 ‘Google이 해시 충돌을 만들었을 때’ 취약하다는 것이 증명되었습니다. Git 프로젝트는 객체를 저장하는 방식으로 인해 이러한 종류의 공격에 아직 영향을 받지 않습니다. 그러나 새로운 SHA-1 공격이 Git에 영향을 미칠 때까지의 문제는 시간문제일 뿐입니다.

SHA-256 리포지터리에서는 40자 ID 대신 64자 ID가 생성됩니다. Git 프로젝트는 SHA-256 기능이 안전하다고 판단하여 실험적인 라벨을 제거했습니다.

NIST 및 CISA와 같은 연방 규정은 2030년까지 SHA-1 사용을 중단하고 가능하면 더 빨리 SHA-1 사용기관이 이와 이탈하도록 권장합니다.

관련 주제