diff options
Diffstat (limited to 'app/workers/ci')
-rw-r--r-- | app/workers/ci/build_finished_worker.rb | 1 | ||||
-rw-r--r-- | app/workers/ci/initial_pipeline_process_worker.rb | 12 |
2 files changed, 13 insertions, 0 deletions
diff --git a/app/workers/ci/build_finished_worker.rb b/app/workers/ci/build_finished_worker.rb index 7503ea3d800..2113f7ae07b 100644 --- a/app/workers/ci/build_finished_worker.rb +++ b/app/workers/ci/build_finished_worker.rb @@ -40,6 +40,7 @@ module Ci ChatNotificationWorker.perform_async(build.id) if build.pipeline.chat? build.track_deployment_usage build.track_verify_environment_usage + build.remove_token! if build.failed? && !build.auto_retry_expected? ::Ci::MergeRequests::AddTodoWhenBuildFailsWorker.perform_async(build.id) diff --git a/app/workers/ci/initial_pipeline_process_worker.rb b/app/workers/ci/initial_pipeline_process_worker.rb index 8d7a62e5b09..734755f176a 100644 --- a/app/workers/ci/initial_pipeline_process_worker.rb +++ b/app/workers/ci/initial_pipeline_process_worker.rb @@ -17,10 +17,22 @@ module Ci def perform(pipeline_id) Ci::Pipeline.find_by_id(pipeline_id).try do |pipeline| + create_deployments!(pipeline) if Feature.enabled?(:move_create_deployments_to_worker, pipeline.project) + Ci::PipelineCreation::StartPipelineService .new(pipeline) .execute end end + + private + + def create_deployments!(pipeline) + pipeline.stages.flat_map(&:statuses).each { |build| create_deployment(build) } + end + + def create_deployment(build) + ::Deployments::CreateForBuildService.new.execute(build) + end end end |