diff options
Diffstat (limited to 'lib/tasks/gitlab/pages.rake')
-rw-r--r-- | lib/tasks/gitlab/pages.rake | 40 |
1 files changed, 37 insertions, 3 deletions
diff --git a/lib/tasks/gitlab/pages.rake b/lib/tasks/gitlab/pages.rake index b598dab901d..ee2931f0c4f 100644 --- a/lib/tasks/gitlab/pages.rake +++ b/lib/tasks/gitlab/pages.rake @@ -9,9 +9,9 @@ namespace :gitlab do logger.info('Starting to migrate legacy pages storage to zip deployments') result = ::Pages::MigrateFromLegacyStorageService.new(logger, - migration_threads: migration_threads, - batch_size: batch_size, - ignore_invalid_entries: ignore_invalid_entries).execute + ignore_invalid_entries: ignore_invalid_entries, + mark_projects_as_not_deployed: mark_projects_as_not_deployed) + .execute_with_threads(threads: migration_threads, batch_size: batch_size) logger.info("A total of #{result[:migrated] + result[:errored]} projects were processed.") logger.info("- The #{result[:migrated]} projects migrated successfully") @@ -51,5 +51,39 @@ namespace :gitlab do ENV.fetch('PAGES_MIGRATION_IGNORE_INVALID_ENTRIES', 'false') ) end + + def mark_projects_as_not_deployed + Gitlab::Utils.to_boolean( + ENV.fetch('PAGES_MIGRATION_MARK_PROJECTS_AS_NOT_DEPLOYED', 'false') + ) + end + + namespace :deployments do + task migrate_to_object_storage: :gitlab_environment do + logger = Logger.new(STDOUT) + logger.info('Starting transfer of pages deployments to remote storage') + + helper = Gitlab::Pages::MigrationHelper.new(logger) + + begin + helper.migrate_to_remote_storage + rescue => e + logger.error(e.message) + end + end + + task migrate_to_local: :gitlab_environment do + logger = Logger.new(STDOUT) + logger.info('Starting transfer of Pages deployments to local storage') + + helper = Gitlab::Pages::MigrationHelper.new(logger) + + begin + helper.migrate_to_local_storage + rescue => e + logger.error(e.message) + end + end + end end end |