Commit ac2cd5a4 authored by Achilleas Pipinellis's avatar Achilleas Pipinellis

Refactor GitHub import raketask docs

parent 813519af
# GitHub import # GitHub import
>**Note:** > [Introduced]( https://gitlab.com/gitlab-org/gitlab-ce/merge_requests/10308) in GitLab 9.1.
>
> - [Introduced][ce-10308] in GitLab 9.1. In order to retrieve and import GitHub repositories, you will need a
> - You need a personal access token in order to retrieve and import GitHub [GitHub personal access token](https://github.com/settings/tokens).
> projects. You can get it from: https://github.com/settings/tokens A username should be passed as the second argument to the rake task
> - 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 resume an import
> which will become the owner of the project. with the same command.
> - You can also resume an import with the same command.
Bear in mind that the syntax is very specific. Remove any spaces within the argument block and
before/after the brackets. Also, Some shells (e.g., zsh) can interpret the open/close brackets
(`[]`) separately. You may need to either escape the brackets or use double quotes.
## Importing multiple projects
To import a project from the list of your GitHub projects available: To import a project from the list of your GitHub projects available:
```bash ```bash
# Omnibus installations # Omnibus installations
sudo gitlab-rake import:github[access_token,root,foo/bar] sudo gitlab-rake "import:github[access_token,root,foo/bar]"
# Installations from source # Installations from source
bundle exec rake import:github[access_token,root,foo/bar] RAILS_ENV=production 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` 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 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`. will get created from your GitHub project. Subgroups are also possible: `foo/foo/bar`.
## Importing a single project
To import a specific GitHub project (named `foo/github_repo` here): To import a specific GitHub project (named `foo/github_repo` here):
```bash ```bash
# Omnibus installations # Omnibus installations
sudo gitlab-rake import:github[access_token,root,foo/bar,foo/github_repo] sudo gitlab-rake "import:github[access_token,root,foo/bar,foo/github_repo]"
# Installations from source # Installations from source
bundle exec rake import:github[access_token,root,foo/bar,foo/github_repo] RAILS_ENV=production bundle exec rake "import:github[access_token,root,foo/bar,foo/github_repo]" RAILS_ENV=production
```
[ce-10308]: https://gitlab.com/gitlab-org/gitlab-ce/merge_requests/10308
## 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]
``` ```
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment