GitHub インポート Rake タスク
- GitLab 15.9で導入されたRakeタスクは、存在しない名前空間やグループを自動的に作成しなくなりました。
- GitLab16.0で導入され、GitLab15.11.1とGitLab15.10.5にバックポートされたDeveloperロールの代わりにMaintainerロールの要件。
GitHubリポジトリの取得とインポートには、GitHubパーソナルアクセストークンが必要です。ユーザー名はRakeタスクの第2引数として渡す必要があり、これがプロジェクトのオーナーになります。同じコマンドでインポートを再開できます。
構文が非常に特殊であることに注意してください。引数ブロックと括弧の前後のスペースはすべて削除してください。また、シェルによっては(たとえばZsh)、開閉括弧([]
)を個別に解釈することができます。括弧をエスケープするか、二重引用符を使用してください。
前提条件
- インポート先のグループで、少なくともメンテナーのロールがあること。
料金制限
インポート中に GitHub のレートリミットに達した場合、インポート処理はインポートを続行できるまで待機します (sleep()
)。
複数のプロジェクトのインポート
GitHub のプロジェクト一覧からプロジェクトをインポートするには、次のようにします:
# Omnibus installations
sudo gitlab-rake "import:github[access_token,root,foo/bar]"
# Installations from source
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 installations
sudo gitlab-rake "import:github[access_token,root,foo/bar,foo/github_repo]"
# Installations from source
bundle exec rake "import:github[access_token,root,foo/bar,foo/github_repo]" RAILS_ENV=production