GitHub import Rake task (deprecated)

Tier: Free, Premium, Ultimate Offering: Self-Managed

- GitLab 15.9에서 소개된 이후로, Rake 작업은 더 이상 자동으로 존재하지 않는 네임스페이스나 그룹을 생성하지 않습니다. - Maintainer 역할의 요구사항은 GitLab 16.0에서 소개되었으며, GitLab 15.11.1 및 GitLab 15.10.5로 백포팅되었습니다.

caution
이 기능은 GitLab 16.6에서 deprecate되었으며 GitLab 17.0에서 제거될 예정입니다. 대신 GitHub import 기능을 사용하세요.

GitHub 저장소를 검색하고 가져오려면 GitHub 개인 액세스 토큰이 필요합니다. Rake 작업의 두 번째 인수로 사용자 이름을 전달해야 하며, 해당 사용자는 프로젝트의 소유자가 됩니다. 같은 명령어로 가져오기를 계속할 수 있습니다.

구문이 매우 구체적임을 염두에 두세요. 인수 블록 및 괄호 앞/뒤의 모든 공백을 제거하세요. 또한 일부 쉘(예: Zsh)은 괄호 ([])를 별도로 해석할 수 있습니다. 대괄호를 이스케이프하거나 이중 따옴표를 사용할 수 있습니다.

가져올 수 있는 저장소는 GitHub 개인 액세스 토큰의 소유자의 네임스페이스에 있는 저장소만 가능합니다. 자세한 내용은 이슈 424105를 참조하세요.

Prerequisites:

  • 가져오기 대상 그룹에서 적어도 Maintainer 역할을 가지고 있어야 합니다.

요율 제한

가져오기 중 요율 제한에 도달하면 가져오기 프로세스가 (sleep()) 계속할 수 있을 때까지 대기합니다.

여러 프로젝트 가져오기

사용 가능한 GitHub 프로젝트 목록에서 프로젝트를 가져오려면:

# Omnibus 설치
sudo gitlab-rake "import:github[access_token,root,foo/bar]"

# 소스 설치
bundle exec rake "import:github[access_token,root,foo/bar]" RAILS_ENV=production

이 경우, access_token은 GitHub 개인 액세스 토큰, root는 GitLab 사용자 이름, foo/bar는 GitHub 프로젝트에서 생성된 새 GitLab 네임스페이스/프로젝트입니다. 하위 그룹도 가능합니다: foo/foo/bar.

단일 프로젝트 가져오기

특정 GitHub 프로젝트(여기서 foo/github_repo라고 함)를 가져오려면:

# Omnibus 설치
sudo gitlab-rake "import:github[access_token,root,foo/bar,foo/github_repo]"

# 소스 설치
bundle exec rake "import:github[access_token,root,foo/bar,foo/github_repo]" RAILS_ENV=production