Geo Rake tasks Premium Self-managed

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