diff options
author | Grzegorz Bizon <grzegorz@gitlab.com> | 2017-10-21 18:26:31 +0000 |
---|---|---|
committer | Grzegorz Bizon <grzegorz@gitlab.com> | 2017-10-21 18:26:31 +0000 |
commit | cfd97f7ebedec56ccf979e21997dfa19e0807205 (patch) | |
tree | 642f477bd20834487f4546faa2da5b0ced4ff4e9 /app/models/ci/artifact_blob.rb | |
parent | 815a32e29172807cd414dc89a6709f401a4af1ac (diff) | |
parent | 3c0be3cd41a72925678df457b040a559a4ba01ee (diff) | |
download | gitlab-ce-27375-dashboardcontroller-activity-json-is-slow-due-to-sql.tar.gz |
Merge branch '39189-online-view-of-html-artifacts-is-broken' into 'master'27375-dashboardcontroller-activity-json-is-slow-due-to-sql
Resolve "Online view of HTML artifacts is broken?"
Closes #39189
See merge request gitlab-org/gitlab-ce!14977
Diffstat (limited to 'app/models/ci/artifact_blob.rb')
-rw-r--r-- | app/models/ci/artifact_blob.rb | 17 |
1 files changed, 11 insertions, 6 deletions
diff --git a/app/models/ci/artifact_blob.rb b/app/models/ci/artifact_blob.rb index 8b66531ec7b..ec56cc53aea 100644 --- a/app/models/ci/artifact_blob.rb +++ b/app/models/ci/artifact_blob.rb @@ -2,7 +2,7 @@ module Ci class ArtifactBlob include BlobLike - EXTENTIONS_SERVED_BY_PAGES = %w[.html .htm .txt .json].freeze + EXTENSIONS_SERVED_BY_PAGES = %w[.html .htm .txt .json].freeze attr_reader :entry @@ -36,17 +36,22 @@ module Ci def external_url(project, job) return unless external_link?(job) - components = project.full_path_components - components << "-/jobs/#{job.id}/artifacts/file/#{path}" - artifact_path = components[1..-1].join('/') + full_path_parts = project.full_path_components + top_level_group = full_path_parts.shift - "#{pages_config.protocol}://#{components[0]}.#{pages_config.host}/#{artifact_path}" + artifact_path = [ + '-', *full_path_parts, '-', + 'jobs', job.id, + 'artifacts', path + ].join('/') + + "#{pages_config.protocol}://#{top_level_group}.#{pages_config.host}/#{artifact_path}" end def external_link?(job) pages_config.enabled && pages_config.artifacts_server && - EXTENTIONS_SERVED_BY_PAGES.include?(File.extname(name)) && + EXTENSIONS_SERVED_BY_PAGES.include?(File.extname(name)) && job.project.public? end |