blob: 734755f176a165b7c2b1829270b8a28f5b91ebf9 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
|
# frozen_string_literal: true
module Ci
class InitialPipelineProcessWorker
include ApplicationWorker
data_consistency :always
sidekiq_options retry: 3
include PipelineQueue
queue_namespace :pipeline_processing
feature_category :continuous_integration
urgency :high
loggable_arguments 1
idempotent!
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
|