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