summaryrefslogtreecommitdiff
path: root/app/workers/ci
diff options
context:
space:
mode:
Diffstat (limited to 'app/workers/ci')
-rw-r--r--app/workers/ci/build_finished_worker.rb1
-rw-r--r--app/workers/ci/initial_pipeline_process_worker.rb12
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