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

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 @@ module Backup
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 @@ module Backup
system('psql', config['database'], '-f', db_file_name)
end
report_success(success)
abort 'Restore failed' unless success
end
protected
......
......@@ -23,6 +23,7 @@ module Backup
puts "done".green
else
puts "failed".red
abort 'Backup failed'
end
upload(tar_file)
......@@ -44,6 +45,7 @@ module Backup
puts "done".green
else
puts "failed".red
abort 'Backup failed'
end
end
......@@ -53,6 +55,7 @@ module Backup
puts "done".green
else
puts "failed".red
abort 'Backup failed'
end
end
......
......@@ -15,10 +15,15 @@ module Backup
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 @@ module Backup
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 @@ module Backup
puts "[DONE]".green
else
puts "[FAILED]".red
abort 'Restore failed'
end
wiki = ProjectWiki.new(project)
......@@ -64,6 +74,7 @@ module Backup
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