Commit 11728b50 authored by Kamil Trzcinski's avatar Kamil Trzcinski

Expose artifacts path

parent 7b70a03e
...@@ -5,6 +5,7 @@ v 8.3.0 (unreleased) ...@@ -5,6 +5,7 @@ v 8.3.0 (unreleased)
v 8.2.0 v 8.2.0
- Improved performance of finding projects and groups in various places - Improved performance of finding projects and groups in various places
- Improved performance of rendering user profile pages and Atom feeds - Improved performance of rendering user profile pages and Atom feeds
- Expose build artifacts path as config option
- Fix grouping of contributors by email in graph. - Fix grouping of contributors by email in graph.
- Improved performance of finding issues with/without labels - Improved performance of finding issues with/without labels
- Remove CSS property preventing hard tabs from rendering in Chromium 45 (Stan Hu) - Remove CSS property preventing hard tabs from rendering in Chromium 45 (Stan Hu)
......
...@@ -99,7 +99,7 @@ def self.create_from_defaults ...@@ -99,7 +99,7 @@ def self.create_from_defaults
restricted_signup_domains: Settings.gitlab['restricted_signup_domains'], restricted_signup_domains: Settings.gitlab['restricted_signup_domains'],
import_sources: ['github','bitbucket','gitlab','gitorious','google_code','fogbugz','git'], import_sources: ['github','bitbucket','gitlab','gitorious','google_code','fogbugz','git'],
shared_runners_enabled: Settings.gitlab_ci['shared_runners_enabled'], shared_runners_enabled: Settings.gitlab_ci['shared_runners_enabled'],
max_artifacts_size: Settings.gitlab_ci['max_artifacts_size'], max_artifacts_size: Settings.artifacts['max_size'],
) )
end end
......
...@@ -5,15 +5,15 @@ class ArtifactUploader < CarrierWave::Uploader::Base ...@@ -5,15 +5,15 @@ class ArtifactUploader < CarrierWave::Uploader::Base
attr_accessor :build, :field attr_accessor :build, :field
def self.artifacts_path def self.artifacts_path
File.expand_path('shared/artifacts/', Rails.root) Gitlab.config.artifacts.path
end end
def self.artifacts_upload_path def self.artifacts_upload_path
File.expand_path('shared/artifacts/tmp/uploads/', Rails.root) File.join(self.artifacts_path, 'tmp/uploads/')
end end
def self.artifacts_cache_path def self.artifacts_cache_path
File.expand_path('shared/artifacts/tmp/cache/', Rails.root) File.join(self.artifacts_path, 'tmp/cache/')
end end
def initialize(build, field) def initialize(build, field)
......
...@@ -124,6 +124,12 @@ production: &base ...@@ -124,6 +124,12 @@ production: &base
# The mailbox where incoming mail will end up. Usually "inbox". # The mailbox where incoming mail will end up. Usually "inbox".
mailbox: "inbox" mailbox: "inbox"
## Build Artifacts
artifacts:
enabled: true
# The location where build artifacts are stored (default: shared/artifacts).
# path: shared/artifacts
## Git LFS ## Git LFS
lfs: lfs:
enabled: true enabled: true
......
...@@ -187,7 +187,6 @@ def base_gitlab_url ...@@ -187,7 +187,6 @@ def base_gitlab_url
Settings.gitlab_ci['add_pusher'] = false if Settings.gitlab_ci['add_pusher'].nil? Settings.gitlab_ci['add_pusher'] = false if Settings.gitlab_ci['add_pusher'].nil?
Settings.gitlab_ci['url'] ||= Settings.send(:build_gitlab_ci_url) Settings.gitlab_ci['url'] ||= Settings.send(:build_gitlab_ci_url)
Settings.gitlab_ci['builds_path'] = File.expand_path(Settings.gitlab_ci['builds_path'] || "builds/", Rails.root) Settings.gitlab_ci['builds_path'] = File.expand_path(Settings.gitlab_ci['builds_path'] || "builds/", Rails.root)
Settings.gitlab_ci['max_artifacts_size'] ||= 100 # in megabytes
# #
# Reply by email # Reply by email
...@@ -199,6 +198,14 @@ def base_gitlab_url ...@@ -199,6 +198,14 @@ def base_gitlab_url
Settings.incoming_email['start_tls'] = false if Settings.incoming_email['start_tls'].nil? Settings.incoming_email['start_tls'] = false if Settings.incoming_email['start_tls'].nil?
Settings.incoming_email['mailbox'] = "inbox" if Settings.incoming_email['mailbox'].nil? Settings.incoming_email['mailbox'] = "inbox" if Settings.incoming_email['mailbox'].nil?
#
# Build Artifacts
#
Settings['artifacts'] ||= Settingslogic.new({})
Settings.artifacts['enabled'] = true if Settings.artifacts['enabled'].nil?
Settings.artifacts['path'] = File.expand_path(Settings.artifacts['path'] || File.join(Settings.shared['path'], "artifacts"), Rails.root)
Settings.artifacts['max_size'] ||= 100 # in megabytes
# #
# Git LFS # Git LFS
# #
......
...@@ -58,6 +58,7 @@ class Builds < Grape::API ...@@ -58,6 +58,7 @@ class Builds < Grape::API
# POST /builds/:id/artifacts/authorize # POST /builds/:id/artifacts/authorize
post ":id/artifacts/authorize" do post ":id/artifacts/authorize" do
require_gitlab_workhorse! require_gitlab_workhorse!
not_allowed! unless Gitlab.config.artifacts.enabled
build = Ci::Build.find_by_id(params[:id]) build = Ci::Build.find_by_id(params[:id])
not_found! unless build not_found! unless build
authenticate_build_token!(build) authenticate_build_token!(build)
...@@ -91,6 +92,7 @@ class Builds < Grape::API ...@@ -91,6 +92,7 @@ class Builds < Grape::API
# POST /builds/:id/artifacts # POST /builds/:id/artifacts
post ":id/artifacts" do post ":id/artifacts" do
require_gitlab_workhorse! require_gitlab_workhorse!
not_allowed! unless Gitlab.config.artifacts.enabled
build = Ci::Build.find_by_id(params[:id]) build = Ci::Build.find_by_id(params[:id])
not_found! unless build not_found! unless build
authenticate_build_token!(build) authenticate_build_token!(build)
......
...@@ -25,7 +25,7 @@ def fake_application_settings ...@@ -25,7 +25,7 @@ def fake_application_settings
session_expire_delay: Settings.gitlab['session_expire_delay'], session_expire_delay: Settings.gitlab['session_expire_delay'],
import_sources: Settings.gitlab['import_sources'], import_sources: Settings.gitlab['import_sources'],
shared_runners_enabled: Settings.gitlab_ci['shared_runners_enabled'], shared_runners_enabled: Settings.gitlab_ci['shared_runners_enabled'],
max_artifacts_size: Ci::Settings.gitlab_ci['max_artifacts_size'], max_artifacts_size: Settings.artifacts['max_size'],
) )
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