summaryrefslogtreecommitdiff
path: root/app/models
diff options
context:
space:
mode:
Diffstat (limited to 'app/models')
-rw-r--r--app/models/deployment.rb10
-rw-r--r--app/models/environment.rb4
2 files changed, 12 insertions, 2 deletions
diff --git a/app/models/deployment.rb b/app/models/deployment.rb
index 07d7e19e70d..cde6598fc7b 100644
--- a/app/models/deployment.rb
+++ b/app/models/deployment.rb
@@ -11,7 +11,7 @@ class Deployment < ActiveRecord::Base
delegate :name, to: :environment, prefix: true
- after_save :keep_around_commit
+ after_save :create_ref
def commit
project.commit(sha)
@@ -30,7 +30,7 @@ class Deployment < ActiveRecord::Base
end
def keep_around_commit
- project.repository.keep_around(self.sha)
+ project.repository.fetch_ref(project.repository.path_to_repo, ref, ref_path)
end
def manual_actions
@@ -76,4 +76,10 @@ class Deployment < ActiveRecord::Base
where.not(id: self.id).
take
end
+
+ private
+
+ def ref_path
+ "#{environment.ref_path}#{id}"
+ end
end
diff --git a/app/models/environment.rb b/app/models/environment.rb
index 49e0a20640c..843f85883a1 100644
--- a/app/models/environment.rb
+++ b/app/models/environment.rb
@@ -47,4 +47,8 @@ class Environment < ActiveRecord::Base
def update_merge_request_metrics?
self.name == "production"
end
+
+ def ref_path
+ "refs/environments/#{Shellwords.shellescape(name)}/"
+ end
end