Welcome to mirror list, hosted at ThFree Co, Russian Federation.

gitlab.com/gitlab-org/gitlab-foss.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'app/services/projects/update_pages_service.rb')
-rw-r--r--app/services/projects/update_pages_service.rb13
1 files changed, 5 insertions, 8 deletions
diff --git a/app/services/projects/update_pages_service.rb b/app/services/projects/update_pages_service.rb
index ab38efff7c9..83b28840d39 100644
--- a/app/services/projects/update_pages_service.rb
+++ b/app/services/projects/update_pages_service.rb
@@ -33,7 +33,7 @@ module Projects
break error('The uploaded artifact size does not match the expected value') unless deployment
break error(deployment_update.errors.first.full_message) unless deployment_update.valid?
- update_project_pages_deployment(deployment)
+ deactive_old_deployments(deployment)
success
end
rescue StandardError => e
@@ -45,7 +45,6 @@ module Projects
def success
commit_status.success
- @project.mark_pages_as_deployed
publish_deployed_event
super
end
@@ -84,11 +83,11 @@ module Projects
def create_pages_deployment(artifacts_path, build)
File.open(artifacts_path) do |file|
attributes = pages_deployment_attributes(file, build)
- deployment = project.pages_deployments.create!(**attributes)
+ deployment = project.pages_deployments.build(**attributes)
- break if deployment.size != file.size || deployment.file.size != file.size
+ break if deployment.file.size != file.size
- deployment
+ deployment.tap(&:save!)
end
end
@@ -103,9 +102,7 @@ module Projects
}
end
- def update_project_pages_deployment(deployment)
- project.update_pages_deployment!(deployment)
-
+ def deactive_old_deployments(deployment)
PagesDeployment.deactivate_deployments_older_than(
deployment,
time: OLD_DEPLOYMENTS_DESTRUCTION_DELAY.from_now)