summaryrefslogtreecommitdiff
path: root/lib/tasks
diff options
context:
space:
mode:
authorKamil Trzcinski <ayufan@ayufan.eu>2015-09-15 10:24:30 +0200
committerKamil Trzcinski <ayufan@ayufan.eu>2015-09-15 20:14:21 +0200
commited18e04bb3d921d14f1bfb9adf7e0a4ad4dfc0b2 (patch)
tree118ae678c92aae63e89ebbb62db55c5e6bb02674 /lib/tasks
parentb87ca7500f174cc9a4e90b262b02aa9bf695fbee (diff)
downloadgitlab-ce-ed18e04bb3d921d14f1bfb9adf7e0a4ad4dfc0b2.tar.gz
Cleanup CI backup => migrate with GitLab
Diffstat (limited to 'lib/tasks')
-rw-r--r--lib/tasks/ci/backup.rake62
-rw-r--r--lib/tasks/gitlab/backup.rake21
2 files changed, 21 insertions, 62 deletions
diff --git a/lib/tasks/ci/backup.rake b/lib/tasks/ci/backup.rake
deleted file mode 100644
index 1cb2e43f875..00000000000
--- a/lib/tasks/ci/backup.rake
+++ /dev/null
@@ -1,62 +0,0 @@
-namespace :ci do
- namespace :backup do
-
- desc "GITLAB | Create a backup of the GitLab CI database"
- task create: :environment do
- configure_cron_mode
-
- $progress.puts "Dumping database ... ".blue
- Ci::Backup::Database.new.dump
- $progress.puts "done".green
-
- $progress.puts "Dumping builds ... ".blue
- Ci::Backup::Builds.new.dump
- $progress.puts "done".green
-
- backup = Ci::Backup::Manager.new
- backup.pack
- backup.cleanup
- backup.remove_old
- end
-
- desc "GITLAB | Restore a previously created backup"
- task restore: :environment do
- configure_cron_mode
-
- backup = Ci::Backup::Manager.new
- backup.unpack
-
- $progress.puts "Restoring database ... ".blue
- Ci::Backup::Database.new.restore
- $progress.puts "done".green
-
- $progress.puts "Restoring builds ... ".blue
- Ci::Backup::Builds.new.restore
- $progress.puts "done".green
-
- backup.cleanup
- end
-
- def configure_cron_mode
- if ENV['CRON']
- # We need an object we can say 'puts' and 'print' to; let's use a
- # StringIO.
- require 'stringio'
- $progress = StringIO.new
- else
- $progress = $stdout
- end
- end
- end
-
- # Disable colors for CRON
- unless STDOUT.isatty
- module Colored
- extend self
-
- def colorize(string, options={})
- string
- end
- end
- end
-end
diff --git a/lib/tasks/gitlab/backup.rake b/lib/tasks/gitlab/backup.rake
index 4c73f90bbf2..f20c7f71ba5 100644
--- a/lib/tasks/gitlab/backup.rake
+++ b/lib/tasks/gitlab/backup.rake
@@ -11,6 +11,7 @@ namespace :gitlab do
Rake::Task["gitlab:backup:db:create"].invoke
Rake::Task["gitlab:backup:repo:create"].invoke
Rake::Task["gitlab:backup:uploads:create"].invoke
+ Rake::Task["gitlab:backup:builds:create"].invoke
backup = Backup::Manager.new
backup.pack
@@ -30,6 +31,7 @@ namespace :gitlab do
Rake::Task["gitlab:backup:db:restore"].invoke unless backup.skipped?("db")
Rake::Task["gitlab:backup:repo:restore"].invoke unless backup.skipped?("repositories")
Rake::Task["gitlab:backup:uploads:restore"].invoke unless backup.skipped?("uploads")
+ Rake::Task["gitlab:backup:builds:restore"].invoke unless backup.skipped?("builds")
Rake::Task["gitlab:shell:setup"].invoke
backup.cleanup
@@ -73,6 +75,25 @@ namespace :gitlab do
end
end
+ namespace :builds do
+ task create: :environment do
+ $progress.puts "Dumping builds ... ".blue
+
+ if ENV["SKIP"] && ENV["SKIP"].include?("builds")
+ $progress.puts "[SKIPPED]".cyan
+ else
+ Backup::Builds.new.dump
+ $progress.puts "done".green
+ end
+ end
+
+ task restore: :environment do
+ $progress.puts "Restoring builds ... ".blue
+ Backup::Builds.new.restore
+ $progress.puts "done".green
+ end
+ end
+
namespace :uploads do
task create: :environment do
$progress.puts "Dumping uploads ... ".blue