Commit 1d983024 authored by Shinya Maeda's avatar Shinya Maeda

Move default_path to legacy_default_path. Switch to the new path for live-trace

parent 0d960fac
##
# Current status of paths
# Era 1: Live/Full traces in database (ci_builds.trace)
# Era 2: Live/Full traces in `setting_root/YYYY_MM/project_ci_id/job_id.log`
# Era 3: Live/Full traces in `setting_root/YYYY_MM/project_id/job_id.log`
# Era 4: Live traces in `setting_root/live_trace/job_id.log`. Full traces in JobArtifactUploader#legacy_default_path.
#
# The legacy paths are to be migrated to the latest era.
module Gitlab
module Ci
class Trace
......@@ -99,12 +107,12 @@ module Gitlab
return current_path if current_path
ensure_directory
default_path
live_trace_default_path
end
def ensure_directory
unless Dir.exist?(default_directory)
FileUtils.mkdir_p(default_directory)
unless Dir.exist?(live_trace_default_directory)
FileUtils.mkdir_p(live_trace_default_directory)
end
end
......@@ -115,24 +123,34 @@ module Gitlab
end
##
# This doesn't include the latest path JobArtifactUploader#default_path.
# This method doesn't include the latest path, which is JobArtifactUploader#default_path,
# Because, in EE, traces can be moved to ObjectStorage, so checking paths in Filestorage doesn't make sense.
# All legacy paths (`legacy_default_path` and `deprecated_path`) are to be migrated to JobArtifactUploader#default_path
def paths
[
default_path,
live_trace_default_path,
legacy_default_path,
deprecated_path
].compact
end
def default_directory
def live_trace_default_directory
File.join(
Settings.gitlab_ci.builds_path,
job.created_at.utc.strftime("%Y_%m"),
job.project_id.to_s
'live_trace'
)
end
def default_path
File.join(default_directory, "#{job.id}.log")
def live_trace_default_path
File.join(live_trace_default_directory, "#{job.id}.log")
end
def legacy_default_path
File.join(
Settings.gitlab_ci.builds_path,
job.created_at.utc.strftime("%Y_%m"),
job.project_id.to_s,
"#{job.id}.log")
end
def deprecated_path
......
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