Commit 63dac843fdad0697c147b3c994500c84bc66f100
Exists in
master
and in
4 other branches
Merge pull request #2149 from jojosch/help-rake-tasks
add help page for gitlab specific rake tasks
Showing
7 changed files
with
275 additions
and
0 deletions
Show diff stats
app/views/help/index.html.haml
| @@ -0,0 +1,55 @@ | @@ -0,0 +1,55 @@ | ||
| 1 | +%h3.page_title GitLab Rake Tasks | ||
| 2 | +.back_link | ||
| 3 | + = link_to help_path do | ||
| 4 | + ← to index | ||
| 5 | +%hr | ||
| 6 | + | ||
| 7 | +%p.slead | ||
| 8 | + GitLab provides some specific rake tasks to enable special features or perform maintenance tasks. | ||
| 9 | + | ||
| 10 | +%ul.nav.nav-tabs.log-tabs | ||
| 11 | + %li.active | ||
| 12 | + = link_to "Features", "#features", 'data-toggle' => 'tab' | ||
| 13 | + %li | ||
| 14 | + = link_to "Maintenance", "#maintenance", 'data-toggle' => 'tab' | ||
| 15 | + %li | ||
| 16 | + = link_to "User Management", "#user_management", 'data-toggle' => 'tab' | ||
| 17 | + %li | ||
| 18 | + = link_to "Backup & Restore", "#backup_restore", 'data-toggle' => 'tab' | ||
| 19 | + | ||
| 20 | +.tab-content | ||
| 21 | + .tab-pane.active#features | ||
| 22 | + .file_holder | ||
| 23 | + .file_title | ||
| 24 | + %i.icon-file | ||
| 25 | + Features | ||
| 26 | + .file_content.wiki | ||
| 27 | + = preserve do | ||
| 28 | + = markdown File.read(Rails.root.join("doc", "raketasks", "features.md")) | ||
| 29 | + | ||
| 30 | + .tab-pane#maintenance | ||
| 31 | + .file_holder | ||
| 32 | + .file_title | ||
| 33 | + %i.icon-file | ||
| 34 | + Maintenance | ||
| 35 | + .file_content.wiki | ||
| 36 | + = preserve do | ||
| 37 | + = markdown File.read(Rails.root.join("doc", "raketasks", "maintenance.md")) | ||
| 38 | + | ||
| 39 | + .tab-pane#user_management | ||
| 40 | + .file_holder | ||
| 41 | + .file_title | ||
| 42 | + %i.icon-file | ||
| 43 | + User Management | ||
| 44 | + .file_content.wiki | ||
| 45 | + = preserve do | ||
| 46 | + = markdown File.read(Rails.root.join("doc", "raketasks", "user_management.md")) | ||
| 47 | + | ||
| 48 | + .tab-pane#backup_restore | ||
| 49 | + .file_holder | ||
| 50 | + .file_title | ||
| 51 | + %i.icon-file | ||
| 52 | + Backup & Restore | ||
| 53 | + .file_content.wiki | ||
| 54 | + = preserve do | ||
| 55 | + = markdown File.read(Rails.root.join("doc", "raketasks", "backup_restore.md")) |
config/routes.rb
| @@ -31,6 +31,7 @@ Gitlab::Application.routes.draw do | @@ -31,6 +31,7 @@ Gitlab::Application.routes.draw do | ||
| 31 | get 'help/system_hooks' => 'help#system_hooks' | 31 | get 'help/system_hooks' => 'help#system_hooks' |
| 32 | get 'help/markdown' => 'help#markdown' | 32 | get 'help/markdown' => 'help#markdown' |
| 33 | get 'help/ssh' => 'help#ssh' | 33 | get 'help/ssh' => 'help#ssh' |
| 34 | + get 'help/raketasks' => 'help#raketasks' | ||
| 34 | 35 | ||
| 35 | # | 36 | # |
| 36 | # Admin Area | 37 | # Admin Area |
| @@ -0,0 +1,82 @@ | @@ -0,0 +1,82 @@ | ||
| 1 | +### Create a backup of the GitLab system | ||
| 2 | + | ||
| 3 | +Creates a backup archive of the database and all repositories. This archive will be saved in backup_path (see `config/gitlab.yml`). | ||
| 4 | +The filename will be `[TIMESTAMP]_gitlab_backup.tar`. This timestamp can be used to restore an specific backup. | ||
| 5 | + | ||
| 6 | +``` | ||
| 7 | +bundle exec rake gitlab:app:backup_create | ||
| 8 | +``` | ||
| 9 | + | ||
| 10 | +Example output: | ||
| 11 | + | ||
| 12 | +``` | ||
| 13 | +Dumping database tables: | ||
| 14 | +- Dumping table events... [DONE] | ||
| 15 | +- Dumping table issues... [DONE] | ||
| 16 | +- Dumping table keys... [DONE] | ||
| 17 | +- Dumping table merge_requests... [DONE] | ||
| 18 | +- Dumping table milestones... [DONE] | ||
| 19 | +- Dumping table namespaces... [DONE] | ||
| 20 | +- Dumping table notes... [DONE] | ||
| 21 | +- Dumping table projects... [DONE] | ||
| 22 | +- Dumping table protected_branches... [DONE] | ||
| 23 | +- Dumping table schema_migrations... [DONE] | ||
| 24 | +- Dumping table services... [DONE] | ||
| 25 | +- Dumping table snippets... [DONE] | ||
| 26 | +- Dumping table taggings... [DONE] | ||
| 27 | +- Dumping table tags... [DONE] | ||
| 28 | +- Dumping table users... [DONE] | ||
| 29 | +- Dumping table users_projects... [DONE] | ||
| 30 | +- Dumping table web_hooks... [DONE] | ||
| 31 | +- Dumping table wikis... [DONE] | ||
| 32 | +Dumping repositories: | ||
| 33 | +- Dumping repository abcd... [DONE] | ||
| 34 | +- Dumping repository gitolite-admin.git... [DONE] | ||
| 35 | +Creating backup archive: $TIMESTAMP_gitlab_backup.tar [DONE] | ||
| 36 | +Deleting tmp directories...[DONE] | ||
| 37 | +Deleting old backups... [SKIPPING] | ||
| 38 | +``` | ||
| 39 | + | ||
| 40 | +### Restore a previously created backup | ||
| 41 | + | ||
| 42 | +``` | ||
| 43 | +bundle exec rake gitlab:app:backup_restore | ||
| 44 | +``` | ||
| 45 | + | ||
| 46 | +Options: | ||
| 47 | + | ||
| 48 | +``` | ||
| 49 | +BACKUP=timestamp_of_backup (required if more than one backup exists) | ||
| 50 | +``` | ||
| 51 | + | ||
| 52 | +Example output: | ||
| 53 | + | ||
| 54 | +``` | ||
| 55 | +Unpacking backup... [DONE] | ||
| 56 | +Restoring database tables: | ||
| 57 | +-- create_table("events", {:force=>true}) | ||
| 58 | + -> 0.2231s | ||
| 59 | +[...] | ||
| 60 | +- Loading fixture events...[DONE] | ||
| 61 | +- Loading fixture issues...[DONE] | ||
| 62 | +- Loading fixture keys...[SKIPPING] | ||
| 63 | +- Loading fixture merge_requests...[DONE] | ||
| 64 | +- Loading fixture milestones...[DONE] | ||
| 65 | +- Loading fixture namespaces...[DONE] | ||
| 66 | +- Loading fixture notes...[DONE] | ||
| 67 | +- Loading fixture projects...[DONE] | ||
| 68 | +- Loading fixture protected_branches...[SKIPPING] | ||
| 69 | +- Loading fixture schema_migrations...[DONE] | ||
| 70 | +- Loading fixture services...[SKIPPING] | ||
| 71 | +- Loading fixture snippets...[SKIPPING] | ||
| 72 | +- Loading fixture taggings...[SKIPPING] | ||
| 73 | +- Loading fixture tags...[SKIPPING] | ||
| 74 | +- Loading fixture users...[DONE] | ||
| 75 | +- Loading fixture users_projects...[DONE] | ||
| 76 | +- Loading fixture web_hooks...[SKIPPING] | ||
| 77 | +- Loading fixture wikis...[SKIPPING] | ||
| 78 | +Restoring repositories: | ||
| 79 | +- Restoring repository abcd... [DONE] | ||
| 80 | +- Restoring repository gitolite-admin.git... [DONE] | ||
| 81 | +Deleting tmp directories...[DONE] | ||
| 82 | +``` |
| @@ -0,0 +1,36 @@ | @@ -0,0 +1,36 @@ | ||
| 1 | +### Enable usernames and namespaces for user projects | ||
| 2 | + | ||
| 3 | +This command will enable the namespace feature introduced in v4.0. It will move every project in its namespace folder. | ||
| 4 | + | ||
| 5 | +Note: | ||
| 6 | + | ||
| 7 | +* Because the **repository location will change**, you will need to **update all your git url's** to point to the new location. | ||
| 8 | +* Username can be changed at [Profile / Account](/profile/account) | ||
| 9 | + | ||
| 10 | +**Example:** | ||
| 11 | + | ||
| 12 | +Old path: `git@example.org:myrepo.git` | ||
| 13 | +New path: `git@example.org:username/myrepo.git` or `git@example.org:groupname/myrepo.git` | ||
| 14 | + | ||
| 15 | +``` | ||
| 16 | +bundle exec rake gitlab:activate_namespaces | ||
| 17 | +``` | ||
| 18 | + | ||
| 19 | + | ||
| 20 | +### Enable auto merge | ||
| 21 | + | ||
| 22 | +This command will enable the auto merge feature. After this you will be able to **merge a merge request** via GitLab and use the **online editor**. | ||
| 23 | + | ||
| 24 | +``` | ||
| 25 | +bundle exec rake gitlab:app:enable_automerge | ||
| 26 | +``` | ||
| 27 | + | ||
| 28 | +Example output: | ||
| 29 | + | ||
| 30 | +``` | ||
| 31 | +Creating satellite for abcd.git | ||
| 32 | +[git clone output] | ||
| 33 | +Creating satellite for abcd2.git | ||
| 34 | +[git clone output] | ||
| 35 | +done | ||
| 36 | +``` |
| @@ -0,0 +1,82 @@ | @@ -0,0 +1,82 @@ | ||
| 1 | +### Setup production application | ||
| 2 | + | ||
| 3 | +Runs the following rake tasks: | ||
| 4 | + | ||
| 5 | +* db:setup (Create the database, load the schema, and initialize with the seed data) | ||
| 6 | +* db:seed_fu (Loads seed data for the current environment.) | ||
| 7 | +* gitlab:app:enable_automerge (see "Features") | ||
| 8 | + | ||
| 9 | +``` | ||
| 10 | +bundle exec rake gitlab:app:setup | ||
| 11 | +``` | ||
| 12 | + | ||
| 13 | + | ||
| 14 | +### Check GitLab installation status | ||
| 15 | + | ||
| 16 | +[Trouble-Shooting-Guide](https://github.com/gitlabhq/gitlab-public-wiki/wiki/Trouble-Shooting-Guide) | ||
| 17 | + | ||
| 18 | +``` | ||
| 19 | +bundle exec rake gitlab:app:status | ||
| 20 | +``` | ||
| 21 | + | ||
| 22 | +Example output: | ||
| 23 | + | ||
| 24 | +``` | ||
| 25 | +config/database.yml............exists | ||
| 26 | +config/gitlab.yml............exists | ||
| 27 | +/home/git/repositories/............exists | ||
| 28 | +/home/git/repositories/ is writable?............YES | ||
| 29 | +Can clone gitolite-admin?............YES | ||
| 30 | +Can git commit?............YES | ||
| 31 | +UMASK for .gitolite.rc is 0007? ............YES | ||
| 32 | +/home/git/.gitolite/hooks/common/post-receive exists? ............YES | ||
| 33 | + | ||
| 34 | +Validating projects repositories: | ||
| 35 | +* abcd.....post-receive file ok | ||
| 36 | +* abcdtest.....post-receive file missing | ||
| 37 | + | ||
| 38 | +Finished | ||
| 39 | + | ||
| 40 | +``` | ||
| 41 | + | ||
| 42 | + | ||
| 43 | +### Rebuild each key at gitolite config | ||
| 44 | + | ||
| 45 | +This will send all users ssh public keys to gitolite and grant them access (based on their permission) to their projects. | ||
| 46 | + | ||
| 47 | +``` | ||
| 48 | +bundle exec rake gitlab:gitolite:update_keys | ||
| 49 | +``` | ||
| 50 | + | ||
| 51 | + | ||
| 52 | +### Rebuild each project at gitolite config | ||
| 53 | + | ||
| 54 | +This makes sure that all projects are present in gitolite and can be accessed. | ||
| 55 | + | ||
| 56 | +``` | ||
| 57 | +bundle exec rake gitlab:gitolite:update_repos | ||
| 58 | +``` | ||
| 59 | + | ||
| 60 | +### Import bare repositories into GitLab project instance | ||
| 61 | + | ||
| 62 | +Notes: | ||
| 63 | + | ||
| 64 | +* project owner will be a first admin | ||
| 65 | +* existing projects will be skipped | ||
| 66 | + | ||
| 67 | +How to use: | ||
| 68 | + | ||
| 69 | +1. copy your bare repos under git base_path (see `config/gitlab.yml` git_host -> base_path) | ||
| 70 | +2. run the command below | ||
| 71 | + | ||
| 72 | +``` | ||
| 73 | +bundle exec rake gitlab:import:repos RAILS_ENV=production | ||
| 74 | +``` | ||
| 75 | + | ||
| 76 | +Example output: | ||
| 77 | + | ||
| 78 | +``` | ||
| 79 | +Processing abcd.git | ||
| 80 | + * Created abcd (abcd.git) | ||
| 81 | +[...] | ||
| 82 | +``` |
| @@ -0,0 +1,16 @@ | @@ -0,0 +1,16 @@ | ||
| 1 | +### Add user to as a developer to all projects | ||
| 2 | + | ||
| 3 | +``` | ||
| 4 | +bundle exec rake add_user_to_project_teams[username@domain.tld] | ||
| 5 | +``` | ||
| 6 | + | ||
| 7 | + | ||
| 8 | +### Add all users to all projects | ||
| 9 | + | ||
| 10 | +Notes: | ||
| 11 | + | ||
| 12 | +* admin users are added as masters | ||
| 13 | + | ||
| 14 | +``` | ||
| 15 | +bundle exec rake add_users_to_project_teams | ||
| 16 | +``` |