프로젝트 생성

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. 프로젝트 만들기를 선택합니다.

참고: 템플릿에서 프로젝트를 생성하거나 가져오기하는 사용자는 가져온 객체(이슈 및 병합 요청과 같은)의 작성자로 표시되며, 원래 템플릿이나 가져오기의 타임스탬프를 유지합니다. 가져온 객체는 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. 왼쪽 사이드바에서 맨 위에 있는 Create new () 및 New project/repository를 선택합니다.
  2. Create from template를 선택합니다.
  3. Built-in 탭을 선택합니다.
  4. HIPAA 감사 프로토콜 템플릿을 찾습니다:
    • 템플릿 미리보기를 보려면 Preview를 선택합니다.
    • 프로젝트에 템플릿을 사용하려면 Use template을 선택합니다.
  5. 프로젝트 세부 정보를 입력합니다:
    • 프로젝트 이름 필드에 프로젝트 이름을 입력합니다. 이름은 소문자 또는 대문자 (a-zA-Z), 숫자 (0-9), 이모티콘 또는 밑줄(_)로 시작해야 합니다. 또한 점(.), 더하기(+), 대시(-), 공백을 포함시킬 수 있습니다.
    • 프로젝트 슬러그 필드에 프로젝트 경로를 입력합니다. GitLab 인스턴스는 슬러그를 프로젝트의 URL 경로로 사용합니다. 슬러그를 변경하려면 먼저 프로젝트 이름을 입력한 후 슬러그를 변경합니다.
    • 프로젝트 설명(선택 사항) 필드에 프로젝트 대시보드의 설명을 입력합니다. 설명은 500자로 제한됩니다.
    • 사용자의 프로젝트에 대한 보기 및 액세스 권한을 수정하려면 가시성 수준을 변경합니다.
  6. Create project를 선택합니다.

Git 푸시로 새 프로젝트 생성하기

로컬 프로젝트 저장소를 GitLab에 푸시하려면 git push를 사용합니다. 저장소를 푸시한 후 GitLab은 선택한 네임스페이스에 프로젝트를 생성합니다.

다음과 같은 프로젝트 경로로 프로젝트를 만들 수 없습니다:

이전에 사용된 프로젝트 경로에는 리디렉션이 있습니다. 리디렉션으로 인해 새 프로젝트를 만드는 대신 푸시 시도가 변경된 프로젝트 위치로 리디렉트 요청을 보냅니다. 이전에 사용되거나 이름이 변경된 프로젝트에 대한 새 프로젝트를 만들려면 UI 또는 프로젝트 API를 사용합니다.

준비 사항:

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

    1. 왼쪽 사이드바에서 Search or go to를 선택하여 그룹을 찾습니다.
    2. 오른쪽 상단에서 New project가 표시되는지 확인합니다. 권한이 필요한 경우 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: 개인 프로젝트 namespace/myproject가 생성되었습니다.

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

SHA-256 해싱을 사용하는 프로젝트 생성

상태: 실험
자체 관리형 GitLab에서는 기본적으로 이 기능을 사용할 수 없습니다. 관리자는 support_sha256_repositories라는 기능 플래그를 활성화하여 사용할 수 있습니다.

프로젝트를 생성할 때만 SHA-256 해싱을 선택할 수 있습니다.

SHA-256 해싱을 사용하는 프로젝트를 생성하려면 다음 단계를 따르세요:

  1. 왼쪽 사이드바의 맨 위에서 새로 만들기 () 및 새 프로젝트/저장소를 선택합니다.
  2. 빈 프로젝트 만들기를 선택하고 프로젝트 세부 정보를 기존과 같이 작성합니다. 프로젝트 세부 정보에 대한 자세한 내용은 빈 프로젝트 만들기를 참조하세요.
  3. 프로젝트 구성 영역에서 실험적인 설정을    펼치도록 합니다.
  4. 저장소 해싱 알고리즘으로 SHA-256 사용을 선택합니다.
  5. 프로젝트 만들기를 선택합니다.

경고: 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와 같은 연방 규정은 SHA-1을 사용 중단하고 2030년까지 이로 인한 공격에 영향을 받지 않도록 하기 위해 조기에 SHA-1을 사용하는 기관에게 이동할 것을 장려하고 있습니다(FedRamp가 시행하는 규정).

관련 주제