diff options
author | Kamil Trzciński <ayufan@ayufan.eu> | 2015-07-08 14:12:34 +0000 |
---|---|---|
committer | Kamil Trzciński <ayufan@ayufan.eu> | 2015-07-08 14:12:34 +0000 |
commit | 00b6536f4d155ec41b8a8434d992b6b207f07bb5 (patch) | |
tree | 118927afe00dc27abe67420862d0035bced7f2c9 /app | |
parent | 52cc9a572484a87cea542448e6d439b7c6032e04 (diff) | |
parent | b34f96ec2a4a0d09d35f562aa18eb91071d95b2f (diff) | |
download | gitlab-ci-00b6536f4d155ec41b8a8434d992b6b207f07bb5.tar.gz |
Merge branch 'trace_in_file' into 'master'
Build trace in file
https://dev.gitlab.org/gitlab/gitlab-ci/issues/272
See merge request !167
Diffstat (limited to 'app')
-rw-r--r-- | app/models/build.rb | 33 |
1 files changed, 33 insertions, 0 deletions
diff --git a/app/models/build.rb b/app/models/build.rb index 725da75..51c2bf6 100644 --- a/app/models/build.rb +++ b/app/models/build.rb @@ -210,4 +210,37 @@ class Build < ActiveRecord::Base # so we just silentrly ignore error for now end end + + def trace + if File.exist?(path_to_trace) + File.read(path_to_trace) + else + # backward compatibility + read_attribute :trace + end + end + + def trace=(trace) + unless Dir.exists? dir_to_trace + FileUtils.mkdir_p dir_to_trace + end + + File.write(path_to_trace, trace) + end + + def dir_to_trace + Rails.root.join( + root_dir_to_trace, + created_at.utc.strftime("%Y_%m"), + project.id.to_s + ) + end + + def root_dir_to_trace + "builds" + end + + def path_to_trace + "#{dir_to_trace}/#{id}.log" + end end |