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
class Builds < Files
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
Loading
Loading
@@ -4,9 +4,9 @@ module Backup
class Files
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)
@name = File.basename(app_files_dir)
@files_parent_dir = File.realpath(File.join(@app_files_dir, '..'))
@backup_tarball = File.join(Gitlab.config.backup.path, name + '.tar.gz')
end
Loading
Loading
@@ -15,13 +15,14 @@ module Backup
def dump
FileUtils.mkdir_p(Gitlab.config.backup.path)
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
 
def restore
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
 
def backup_existing_files_dir
Loading
Loading
Loading
Loading
@@ -2,7 +2,11 @@ module Backup
class Uploads < Files
 
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
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