Module: Tasks::Gitlab::Backup
- Defined in:
- lib/tasks/gitlab/backup.rb
Constant Summary collapse
- PID =
Process.pid.freeze
- PID_FILE =
"#{Rails.application.root}/tmp/backup_restore.pid".freeze
Class Method Summary collapse
- .create_backup ⇒ Object
- .create_task(task_id) ⇒ Object
-
.reset_pool_repositories! ⇒ Object
A Backup only includes regular repositories, after a restore we need to reinitialize their respective pools.
- .restore_backup ⇒ Object
- .restore_task(task_id) ⇒ Object
-
.verify_backup ⇒ Object
Verify backup file to ensure it is compatible with current GitLab’s version.
Class Method Details
.create_backup ⇒ Object
9 10 11 12 13 14 15 16 |
# File 'lib/tasks/gitlab/backup.rb', line 9 def self.create_backup lock_backup do ::Gitlab::TaskHelpers.warn_user_is_not_gitlab success = ::Backup::Manager.new(backup_progress).create exit 1 unless success # rubocop:disable Rails/Exit -- Rake task helper end end |
.create_task(task_id) ⇒ Object
33 34 35 36 37 38 39 40 41 |
# File 'lib/tasks/gitlab/backup.rb', line 33 def self.create_task(task_id) lock_backup do backup_manager = ::Backup::Manager.new(backup_progress) task = backup_manager.find_task(task_id) success = backup_manager.run_create_task(task) exit 1 unless success # rubocop:disable Rails/Exit -- Rake task helper end end |
.reset_pool_repositories! ⇒ Object
A Backup only includes regular repositories, after a restore we need to reinitialize their respective pools. This process is done by changing its original state to ‘none’ and scheduling its creation process again
54 55 56 57 58 |
# File 'lib/tasks/gitlab/backup.rb', line 54 def self.reset_pool_repositories! ::Backup::Restore::PoolRepositories.reinitialize_pools! do |pool_result| puts pool_result.to_h.to_json end end |
.restore_backup ⇒ Object
18 19 20 21 22 23 24 |
# File 'lib/tasks/gitlab/backup.rb', line 18 def self.restore_backup lock_backup do ::Gitlab::TaskHelpers.warn_user_is_not_gitlab ::Backup::Manager.new(backup_progress).restore end end |