Commit 02bf992f authored by Jacob Vosmaer's avatar Jacob Vosmaer
Browse files

Fail harder in the backup script

This change also shows the output of failed Git commands during the
backup.
parent 8b1da505
......@@ -10,6 +10,7 @@ v 7.4.0
- Support for backup uploads to remote storage
- Prevent notes polling when there are not notes
- API: filter project issues by milestone (Julien Bianchi)
- Fail harder in the backup script
v 7.3.2
- Fix creating new file via web editor
......
......@@ -21,6 +21,7 @@ def dump
system('pg_dump', config['database'], out: db_file_name)
end
report_success(success)
abort 'Backup failed' unless success
end
def restore
......@@ -37,6 +38,7 @@ def restore
system('psql', config['database'], '-f', db_file_name)
end
report_success(success)
abort 'Restore failed' unless success
end
protected
......
......@@ -23,6 +23,7 @@ def pack
puts "done".green
else
puts "failed".red
abort 'Backup failed'
end
upload(tar_file)
......@@ -44,6 +45,7 @@ def upload(tar_file)
puts "done".green
else
puts "failed".red
abort 'Backup failed'
end
end
......@@ -53,6 +55,7 @@ def cleanup
puts "done".green
else
puts "failed".red
abort 'Backup failed'
end
end
......
......@@ -15,10 +15,15 @@ def dump
if project.empty_repo?
puts "[SKIPPED]".cyan
elsif system(*%W(git --git-dir=#{path_to_repo(project)} bundle create #{path_to_bundle(project)} --all), silent)
puts "[DONE]".green
else
puts "[FAILED]".red
output, status = Gitlab::Popen.popen(%W(git --git-dir=#{path_to_repo(project)} bundle create #{path_to_bundle(project)} --all))
if status.zero?
puts "[DONE]".green
else
puts "[FAILED]".red
puts output
abort 'Backup failed'
end
end
wiki = ProjectWiki.new(project)
......@@ -27,10 +32,14 @@ def dump
print " * #{wiki.path_with_namespace} ... "
if wiki.empty?
puts " [SKIPPED]".cyan
elsif system(*%W(git --git-dir=#{path_to_repo(wiki)} bundle create #{path_to_bundle(wiki)} --all), silent)
puts " [DONE]".green
else
puts " [FAILED]".red
output, status = Gitlab::Popen.popen(%W(git --git-dir=#{path_to_repo(wiki)} bundle create #{path_to_bundle(wiki)} --all))
if status.zero?
puts " [DONE]".green
else
puts " [FAILED]".red
abort 'Backup failed'
end
end
end
end
......@@ -54,6 +63,7 @@ def restore
puts "[DONE]".green
else
puts "[FAILED]".red
abort 'Restore failed'
end
wiki = ProjectWiki.new(project)
......@@ -64,6 +74,7 @@ def restore
puts " [DONE]".green
else
puts " [FAILED]".red
abort 'Restore failed'
end
end
end
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment