gitlab-org--gitlab-foss/doc/administration/raketasks/github_import.md

1.8 KiB

GitHub import

Note:

  • Introduced in GitLab 9.1.
  • You need a personal access token in order to retrieve and import GitHub projects. You can get it from: https://github.com/settings/tokens
  • You also need to pass an username as the second argument to the rake task which will become the owner of the project.
  • You can also resume an import with the same command.

To import a project from the list of your GitHub projects available:

# 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

In this case, access_token is your GitHub personal access token, root is your GitLab username, and foo/bar is the new GitLab namespace/project that will get created from your GitHub project. Subgroups are also possible: foo/foo/bar.

To import a specific GitHub project (named foo/github_repo here):

# 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

Troubleshooting

  • Syntax is very specific. Remove spaces within argument block and prior to brackets
# Success
sudo gitlab-rake import:github[access_token,root,foo/bar]

# Fail
sudo gitlab-rake import:github[access_token, root, foo/bar]
rake aborted!
Don't know how to build task 'import:github[access_token, root, foo/bar,' (see --tasks)
  • Some shells can interpret the open/close brackets ([]) separately (ex: zsh). You may need to escape the brackets or switch shells
zsh: no matches found: import:github[token,root,foo/project,group/repository]