Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
G
gitlab-ce
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
1
Merge Requests
1
Analytics
Analytics
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Commits
Issue Boards
Open sidebar
nexedi
gitlab-ce
Commits
8b8bab11
Commit
8b8bab11
authored
Oct 10, 2017
by
Rémy Coutable
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Stub ENV in the backup task spec file
Signed-off-by:
Rémy Coutable
<
remy@rymai.me
>
parent
9c71fb0d
Changes
3
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
109 additions
and
188 deletions
+109
-188
lib/backup/manager.rb
lib/backup/manager.rb
+39
-39
spec/lib/gitlab/backup/manager_spec.rb
spec/lib/gitlab/backup/manager_spec.rb
+0
-4
spec/tasks/gitlab/backup_rake_spec.rb
spec/tasks/gitlab/backup_rake_spec.rb
+70
-145
No files found.
lib/backup/manager.rb
View file @
8b8bab11
...
...
@@ -101,50 +101,50 @@ module Backup
end
def
unpack
Dir
.
chdir
(
backup_path
)
# check for existing backups in the backup dir
if
backup_file_list
.
empty?
$progress
.
puts
"No backups found in
#{
backup_path
}
"
$progress
.
puts
"Please make sure that file name ends with
#{
FILE_NAME_SUFFIX
}
"
exit
1
elsif
backup_file_list
.
many?
&&
ENV
[
"BACKUP"
].
nil?
$progress
.
puts
'Found more than one backup, please specify which one you want to restore:'
$progress
.
puts
'rake gitlab:backup:restore BACKUP=timestamp_of_backup'
exit
1
end
Dir
.
chdir
(
backup_path
)
do
# check for existing backups in the backup dir
if
backup_file_list
.
empty?
$progress
.
puts
"No backups found in
#{
backup_path
}
"
$progress
.
puts
"Please make sure that file name ends with
#{
FILE_NAME_SUFFIX
}
"
exit
1
elsif
backup_file_list
.
many?
&&
ENV
[
"BACKUP"
].
nil?
$progress
.
puts
'Found more than one backup, please specify which one you want to restore:'
$progress
.
puts
'rake gitlab:backup:restore BACKUP=timestamp_of_backup'
exit
1
end
tar_file
=
if
ENV
[
'BACKUP'
].
present?
"
#{
ENV
[
'BACKUP'
]
}#{
FILE_NAME_SUFFIX
}
"
else
backup_file_list
.
first
end
tar_file
=
if
ENV
[
'BACKUP'
].
present?
"
#{
ENV
[
'BACKUP'
]
}#{
FILE_NAME_SUFFIX
}
"
else
backup_file_list
.
first
end
unless
File
.
exist?
(
tar_file
)
$progress
.
puts
"The backup file
#{
tar_file
}
does not exist!"
exit
1
end
unless
File
.
exist?
(
tar_file
)
$progress
.
puts
"The backup file
#{
tar_file
}
does not exist!"
exit
1
end
$progress
.
print
'Unpacking backup ... '
$progress
.
print
'Unpacking backup ... '
unless
Kernel
.
system
(
*
%W(tar -xf
#{
tar_file
}
)
)
$progress
.
puts
'unpacking backup failed'
.
color
(
:red
)
exit
1
else
$progress
.
puts
'done'
.
color
(
:green
)
end
unless
Kernel
.
system
(
*
%W(tar -xf
#{
tar_file
}
)
)
$progress
.
puts
'unpacking backup failed'
.
color
(
:red
)
exit
1
else
$progress
.
puts
'done'
.
color
(
:green
)
end
ENV
[
"VERSION"
]
=
"
#{
settings
[
:db_version
]
}
"
if
settings
[
:db_version
].
to_i
>
0
# restoring mismatching backups can lead to unexpected problems
if
settings
[
:gitlab_version
]
!=
Gitlab
::
VERSION
$progress
.
puts
'GitLab version mismatch:'
.
color
(
:red
)
$progress
.
puts
" Your current GitLab version (
#{
Gitlab
::
VERSION
}
) differs from the GitLab version in the backup!"
.
color
(
:red
)
$progress
.
puts
' Please switch to the following version and try again:'
.
color
(
:red
)
$progress
.
puts
" version:
#{
settings
[
:gitlab_version
]
}
"
.
color
(
:red
)
$progress
.
puts
$progress
.
puts
"Hint: git checkout v
#{
settings
[
:gitlab_version
]
}
"
exit
1
ENV
[
"VERSION"
]
=
"
#{
settings
[
:db_version
]
}
"
if
settings
[
:db_version
].
to_i
>
0
# restoring mismatching backups can lead to unexpected problems
if
settings
[
:gitlab_version
]
!=
Gitlab
::
VERSION
$progress
.
puts
'GitLab version mismatch:'
.
color
(
:red
)
$progress
.
puts
" Your current GitLab version (
#{
Gitlab
::
VERSION
}
) differs from the GitLab version in the backup!"
.
color
(
:red
)
$progress
.
puts
' Please switch to the following version and try again:'
.
color
(
:red
)
$progress
.
puts
" version:
#{
settings
[
:gitlab_version
]
}
"
.
color
(
:red
)
$progress
.
puts
$progress
.
puts
"Hint: git checkout v
#{
settings
[
:gitlab_version
]
}
"
exit
1
end
end
end
...
...
spec/lib/gitlab/backup/manager_spec.rb
View file @
8b8bab11
...
...
@@ -172,10 +172,6 @@ describe Backup::Manager do
end
describe
'#unpack'
do
before
do
allow
(
Dir
).
to
receive
(
:chdir
)
end
context
'when there are no backup files in the directory'
do
before
do
allow
(
Dir
).
to
receive
(
:glob
).
and_return
([])
...
...
spec/tasks/gitlab/backup_rake_spec.rb
View file @
8b8bab11
This diff is collapsed.
Click to expand it.
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment