Geo Rake tasks

The following Rake tasks are for Geo installations. See also troubleshooting Geo for additional Geo Rake tasks.

Git housekeeping

There are few tasks you can run to schedule a Git housekeeping to start at the next repository sync in a secondary node:

Incremental Repack

This is equivalent of running git repack -d on a bare repository.

  • Linux package installations:

    sudo gitlab-rake geo:git:housekeeping:incremental_repack
    
  • Self-compiled installations:

    sudo -u git -H bundle exec rake geo:git:housekeeping:incremental_repack RAILS_ENV=production
    

Full Repack

This is equivalent of running git repack -d -A --pack-kept-objects on a bare repository which optionally, writes a reachability bitmap index when this is enabled in GitLab.

  • Linux package installations:

    sudo gitlab-rake geo:git:housekeeping:full_repack
    
  • Self-compiled installations:

    sudo -u git -H bundle exec rake geo:git:housekeeping:full_repack RAILS_ENV=production
    

GC

This is equivalent of running git gc on a bare repository, optionally writing a reachability bitmap index when this is enabled in GitLab.

  • Linux package installations:

    sudo gitlab-rake geo:git:housekeeping:gc
    
  • Self-compiled installations:

    sudo -u git -H bundle exec rake geo:git:housekeeping:gc RAILS_ENV=production
    

Remove orphaned project registries

Under certain conditions your project registry can contain obsolete records, you can remove them using the Rake task geo:run_orphaned_project_registry_cleaner:

  • Linux package installations:

    sudo gitlab-rake geo:run_orphaned_project_registry_cleaner
    
  • Self-compiled installations:

    sudo -u git -H bundle exec rake geo:run_orphaned_project_registry_cleaner RAILS_ENV=production