Skip to content
Snippets Groups Projects
Commit 58260a03 authored by Jacob Vosmaer's avatar Jacob Vosmaer
Browse files

Do no rely on basename of builds, uploads

parent b847baf8
No related branches found
No related tags found
No related merge requests found
module Backup module Backup
class Builds < Files class Builds < Files
def initialize def initialize
super(Settings.gitlab_ci.builds_path) super('builds', Settings.gitlab_ci.builds_path)
end
def create_files_dir
Dir.mkdir(app_files_dir, 0700)
end end
end end
end end
Loading
@@ -4,9 +4,9 @@ module Backup
Loading
@@ -4,9 +4,9 @@ module Backup
class Files class Files
attr_reader :name, :app_files_dir, :backup_tarball, :files_parent_dir attr_reader :name, :app_files_dir, :backup_tarball, :files_parent_dir
   
def initialize(app_files_dir) def initialize(name, app_files_dir)
@name = name
@app_files_dir = File.realpath(app_files_dir) @app_files_dir = File.realpath(app_files_dir)
@name = File.basename(app_files_dir)
@files_parent_dir = File.realpath(File.join(@app_files_dir, '..')) @files_parent_dir = File.realpath(File.join(@app_files_dir, '..'))
@backup_tarball = File.join(Gitlab.config.backup.path, name + '.tar.gz') @backup_tarball = File.join(Gitlab.config.backup.path, name + '.tar.gz')
end end
Loading
@@ -15,13 +15,14 @@ module Backup
Loading
@@ -15,13 +15,14 @@ module Backup
def dump def dump
FileUtils.mkdir_p(Gitlab.config.backup.path) FileUtils.mkdir_p(Gitlab.config.backup.path)
FileUtils.rm_f(backup_tarball) FileUtils.rm_f(backup_tarball)
run_pipeline!([%W(tar -C #{files_parent_dir} -cf - #{name}), %W(gzip -c -1)], out: [backup_tarball, 'w', 0600]) run_pipeline!([%W(tar -C #{app_files_dir} -cf - .), %W(gzip -c -1)], out: [backup_tarball, 'w', 0600])
end end
   
def restore def restore
backup_existing_files_dir backup_existing_files_dir
create_files_dir
   
run_pipeline!([%W(gzip -cd), %W(tar -C #{files_parent_dir} -xf -)], in: backup_tarball) run_pipeline!([%W(gzip -cd), %W(tar -C #{app_files_dir} -xf -)], in: backup_tarball)
end end
   
def backup_existing_files_dir def backup_existing_files_dir
Loading
Loading
Loading
@@ -2,7 +2,11 @@ module Backup
Loading
@@ -2,7 +2,11 @@ module Backup
class Uploads < Files class Uploads < Files
   
def initialize def initialize
super(Rails.root.join('public/uploads')) super('uploads', Rails.root.join('public/uploads'))
end
def create_files_dir
Dir.mkdir(app_files_dir)
end end
end end
end end
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment