프로젝트 생성

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

프로젝트를 만들기 위한 다양한 옵션이 있습니다. 빈 프로젝트를 만들거나, 내장 또는 사용자 정의 템플릿에서 프로젝트를 만들거나, git push로 프로젝트를 생성할 수 있습니다.

빈 프로젝트 만들기

빈 프로젝트를 만들려면:

  1. 왼쪽 사이드바에서 상단의 새로 만들기 ( ) 및 새 프로젝트/저장소를 선택합니다.
  2. 빈 프로젝트 만들기를 선택합니다.
  3. 프로젝트 세부정보를 입력합니다:
    1. 프로젝트 이름: 프로젝트의 이름을 입력합니다.
      프로젝트 이름에 대한 제한사항을 참조하십시오.
    2. 프로젝트 슬러그: 프로젝트의 경로를 입력합니다. GitLab은 슬러그를 URL 경로로 사용합니다.
    3. 프로젝트 배포 대상(선택 사항): 특정 환경에 프로젝트를 배포하려면
      관련 배포 대상을 선택합니다.
    4. 가시성 수준: 적절한 가시성 수준을 선택합니다.
      사용자에 대한 보기 및 접근 권한을 참조하십시오.
    5. README로 저장소 초기화: 이 옵션을 선택하여 Git 저장소를 초기화하고,
      기본 브랜치를 만들고, 이 프로젝트의 저장소 복제를 활성화합니다.
    6. 정적 애플리케이션 보안 테스트(SAST) 활성화: 이 옵션을 선택하여
      알려진 보안 취약점에 대해 소스 코드를 분석합니다.
  4. 프로젝트 생성을 선택합니다.

내장 템플릿에서 프로젝트 생성

내장 템플릿은 새 프로젝트에 파일을 채워 시작하는 데 도움을 줍니다.
이 템플릿은 project-templatespages 그룹에서 가져옵니다.
누구나 내장 프로젝트 템플릿에 기여할 수 있습니다.

내장 템플릿에서 프로젝트를 생성하려면:

  1. 왼쪽 사이드바에서 상단의 새로 만들기 ( ) 및 새 프로젝트/저장소를 선택합니다.
  2. 템플릿에서 생성을 선택합니다.
  3. 내장 탭을 선택합니다.
  4. 템플릿 목록에서:
    • 템플릿 미리 보기를 원하면 미리 보기를 선택합니다.
    • 템플릿을 사용하려면 템플릿 사용을 선택합니다.
  5. 프로젝트 세부정보를 입력합니다:
    • 프로젝트 이름: 프로젝트의 이름을 입력합니다.
    • 프로젝트 슬러그: 프로젝트의 경로를 입력합니다. GitLab은 슬러그를 URL 경로로 사용합니다.
    • 프로젝트 설명(선택 사항): 프로젝트의 설명을 입력합니다.
      문자 제한은 500입니다.
    • 가시성 수준: 적절한 가시성 수준을 선택합니다.
      사용자에 대한 보기 및 접근 권한을 참조하십시오.
  6. 프로젝트 생성을 선택합니다.

참고:
사용자가 템플릿에서 프로젝트를 생성하거나 프로젝트를 가져오면,
가져온 항목의 저자로 표시되며, 원래 타임스탬프를 유지합니다.
이로 인해 항목이 사용자의 계정이 존재하기 이전에 생성된 것처럼 보일 수 있습니다.

가져온 객체는 By <username> on <timestamp>로 표시됩니다.
GitLab 17.1 이전에는 레이블이 (imported from GitLab)로 접미사가 붙었습니다.

HIPAA 감사 프로토콜 템플릿에서 프로젝트 생성

HIPAA 감사 프로토콜 템플릿은
미국 보건복지부에서 발표한 HIPAA 감사 프로토콜에 대한 감사 문의를 위한 문제를 포함합니다.

HIPAA 감사 프로토콜 템플릿에서 프로젝트를 생성하려면:

  1. 왼쪽 사이드바에서 상단의 새로 만들기 ( ) 및 새 프로젝트/저장소를 선택합니다.
  2. 템플릿에서 생성을 선택합니다.
  3. 내장 탭을 선택합니다.
  4. HIPAA 감사 프로토콜 템플릿을 찾습니다:
    • 템플릿 미리 보기를 원하면 미리 보기를 선택합니다.
    • 템플릿을 사용하려면 템플릿 사용을 선택합니다.
  5. 프로젝트 세부정보를 입력합니다:
    • 프로젝트 이름: 프로젝트의 이름을 입력합니다.
    • 프로젝트 슬러그: 프로젝트의 경로를 입력합니다. GitLab은 슬러그를 URL 경로로 사용합니다.
    • 프로젝트 설명(선택 사항): 프로젝트의 설명을 입력합니다.
      문자 제한은 500입니다.
    • 가시성 수준: 적절한 가시성 수준을 선택합니다.
      사용자에 대한 보기 및 접근 권한을 참조하십시오.
  6. 프로젝트 생성을 선택합니다.

맞춤 템플릿에서 프로젝트 만들기

맞춤 프로젝트 템플릿은 귀하의 인스턴스그룹에서 사용할 수 있습니다.

맞춤 템플릿에서 프로젝트를 만들려면:

  1. 왼쪽 사이드바에서 맨 위에 있는 새로 만들기 ( ) 및 새 프로젝트/저장소를 선택합니다.

  2. 템플릿에서 만들기를 선택합니다.

  3. 인스턴스 또는 그룹 탭을 선택합니다.

  4. 템플릿 목록에서:
    • 템플릿을 미리보려면 미리보기를 선택합니다.
    • 템플릿을 사용하려면 템플릿 사용을 선택합니다.
  5. 프로젝트 세부정보를 입력합니다:
    • 프로젝트 이름: 프로젝트의 이름을 입력합니다.
    • 프로젝트 슬러그: 프로젝트의 경로를 입력합니다. GitLab은 슬러그를 URL 경로로 사용합니다.
    • 프로젝트 설명 (선택 사항) 프로젝트에 대한 설명을 입력합니다. 문자 제한은 500자입니다.
    • 가시성 수준: 적절한 가시성 수준을 선택합니다. 사용자에 대한 보기 및 접근 권한을 참조하십시오.
  6. 프로젝트 만들기를 선택합니다.

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

상태: Experiment
  • 도입됨 GitLab 16.9에서 플래그와 함께
  • 이름이 support_sha256_repositories입니다. 기본적으로 비활성화되어 있습니다. 이 기능은 실험입니다.

이 기능의 가용성은 기능 플래그에 의해 제어됩니다.
자세한 내용은 이력을 참조하십시오.
이 기능은 테스트를 위해 제공되지만, 프로덕션 사용 준비가 되어 있지 않습니다.

SHA-256 해싱을 프로젝트에서 선택할 수 있는 것은 프로젝트를 만들 때만 가능합니다.
Git은 나중에 SHA-256으로 마이그레이션하거나 SHA-1로 다시 마이그레이션하는 것을 지원하지 않습니다.

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

  1. 왼쪽 사이드바에서 맨 위에 있는 새로 만들기 ( ) 및 새 프로젝트/저장소를 선택합니다.

  2. 프로젝트 세부정보를 입력합니다:
    • 프로젝트 이름: 프로젝트의 이름을 입력합니다.
    • 프로젝트 슬러그: 프로젝트의 경로를 입력합니다. GitLab은 슬러그를 URL 경로로 사용합니다.
    • 프로젝트 설명 (선택 사항) 프로젝트에 대한 설명을 입력합니다. 문자 제한은 500자입니다.
    • 가시성 수준: 적절한 가시성 수준을 선택합니다.
      사용자에 대한 보기 및 접근 권한을 참조하십시오.
  3. 프로젝트 구성 영역에서 실험적 설정을 확장합니다.

  4. 저장소 해싱 알고리즘으로 SHA-256 사용을 선택합니다.

  5. 프로젝트 만들기를 선택합니다.

왜 SHA-256인가요?

기본적으로 Git은 SHA-1 해싱 알고리즘을 사용하여 커밋, 블롭, 트리 및 태그와 같은 객체에 대한 40자 ID를 생성합니다. SHA-1 알고리즘은 구글이 해시 충돌을 생성할 수 있었을 때 안전하지 않다는 것이 입증되었습니다. Git 프로젝트는 Git이 객체를 저장하는 방식 때문에 이러한 종류의 공격에 아직 영향을 받지 않습니다.

SHA-256 저장소에서 알고리즘은 40자 ID 대신 64자 ID를 생성합니다. Git 프로젝트는 실험적 라벨을 제거했을 때 SHA-256 기능이 안전하게 사용할 수 있음을 결정했습니다.

NIST 및 CISA 지침과 같은 연방 규정은 FedRamp에서 시행하는 규정으로, SHA-1 사용 중단 기한을 2030년으로 설정하고, 가능한 경우 기관이 SHA-1에서 벗어나도록 권장하고 있습니다.

git push로 프로젝트 만들기

로컬 프로젝트 리포지토리를 GitLab에 추가하려면 git push를 사용하세요. 리포지토리를 추가한 후, GitLab은 선택한 네임스페이스에서 프로젝트를 생성합니다.

이전에 사용된 경로를 가진 프로젝트를 만들기 위해 git push를 사용할 수 없으며, 이름이 변경된 경우에도 마찬가지입니다.

이전에 사용된 프로젝트 경로는 리디렉션이 발생합니다. 새 프로젝트를 만드는 대신, 리디렉션은 푸시 시도 시 이름이 변경된 프로젝트 위치로 요청을 리디렉션합니다.

이전에 사용한 또는 이름이 변경된 프로젝트의 새 프로젝트를 만들려면 UI 또는 Projects API를 사용하세요.

전제 조건:

  • SSH로 푸시하려면 SSH 키가 필요하며, 해당 키는 GitLab 계정에 추가되어야 합니다.

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

    1. 왼쪽 사이드바에서 Search or go to를 선택하고 그룹을 찾으세요.

    2. 오른쪽 상단 모서리에서 New project가 보이는지 확인하세요.

필요한 권한이 없는 경우, GitLab 관리자에게 문의하세요.

git push로 프로젝트 만들기:

  1. 로컬 리포지토리에서 다음 중 하나를 푸시하세요:

    • 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
      
    • HTTP로 푸시하려면, 다음 명령을 실행하세요:

       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로 이동하세요.

기본적으로 프로젝트 가시성은 Private으로 설정되어 있으며, 프로젝트 가시성을 변경할 수 있습니다.

관련 주제