From 3731ae092cac523a0092c64000d9e838662a85df Mon Sep 17 00:00:00 2001 From: Lin Jen-Shin Date: Fri, 2 Jun 2017 15:19:34 +0800 Subject: [PATCH] CreatePipelineBuildsService would have created env So we don't have to do it in CreateDeploymentService Feedback: https://gitlab.com/gitlab-org/gitlab-ce/merge_requests/11695#note_31322649 --- app/models/ci/build.rb | 6 ----- app/services/create_deployment_service.rb | 2 +- spec/models/ci/build_spec.rb | 30 ----------------------- 3 files changed, 1 insertion(+), 37 deletions(-) diff --git a/app/models/ci/build.rb b/app/models/ci/build.rb index 98b50b5b700..3bcc8be5cae 100644 --- a/app/models/ci/build.rb +++ b/app/models/ci/build.rb @@ -19,12 +19,6 @@ module Ci ) end - def ensure_persisted_environment - persisted_environment || - @persisted_environment = - project.environments.create(name: expanded_environment_name) - end - serialize :options # rubocop:disable Cop/ActiverecordSerialize serialize :yaml_variables, Gitlab::Serializer::Ci::Variables # rubocop:disable Cop/ActiverecordSerialize diff --git a/app/services/create_deployment_service.rb b/app/services/create_deployment_service.rb index f30916093ce..0d2ffa8012d 100644 --- a/app/services/create_deployment_service.rb +++ b/app/services/create_deployment_service.rb @@ -42,7 +42,7 @@ class CreateDeploymentService end def environment - @environment ||= job.ensure_persisted_environment + @environment ||= job.persisted_environment end def environment_options diff --git a/spec/models/ci/build_spec.rb b/spec/models/ci/build_spec.rb index 2ad7f27ffac..22ee469dd86 100644 --- a/spec/models/ci/build_spec.rb +++ b/spec/models/ci/build_spec.rb @@ -960,36 +960,6 @@ describe Ci::Build, :models do end end - describe '#ensure_persisted_environment' do - subject { job.ensure_persisted_environment } - - let(:job) do - create(:ci_build, - ref: 'master', - environment: 'staging/$CI_COMMIT_REF_NAME') - end - - context 'when there is no environment' do - it 'creates one by the expanded name' do - expect do - expect(subject.name).to eq('staging/master') - end.to change { Environment.count }.by(1) - end - end - - context 'when there is already an environment' do - let!(:environment) do - create(:environment, project: job.project, name: 'staging/master') - end - - it 'returns the existing environment' do - expect do - expect(subject).to eq(environment) - end.to change { Environment.count }.by(0) - end - end - end - describe '#play' do let(:build) { create(:ci_build, :manual, pipeline: pipeline) } -- GitLab