Project

General

Profile

Download (854 Bytes) Statistics
| Branch: | Tag: | Revision:

foreman_pipeline / app / lib / actions / foreman_pipeline / job / deploy_new_host.rb @ 4c01c2ee

1 ef4e101d Ondrej Prazak
module Actions
2 be52ca64 Ondrej Prazak
  module ForemanPipeline
3 ef4e101d Ondrej Prazak
    module Job
4
      class DeployNewHost < Actions::EntryAction
5 ac38d88a Ondrej Prazak
        include Mixins::UriExtension
6 d79cbdec Ondrej Prazak
        middleware.use ::Actions::Middleware::KeepCurrentUser
7 ac38d88a Ondrej Prazak
8 306517bc Ondrej Prazak
        def plan(job)
9 ef4e101d Ondrej Prazak
          sequence do
10 306517bc Ondrej Prazak
            redeploy = plan_action(Redeploy, job)
11 73ca5ca8 Ondrej Prazak
12 98379490 Ondrej Prazak
            packages = plan_action(FindPackagesToInstall, :job_id => job.id)
13
14 306517bc Ondrej Prazak
            bulk_build = plan_action(Jenkins::BulkBuild,
15 b286c5f0 Ondrej Prazak
                                      job.jenkins_projects,
16
                                      :job_id => job.id,
17 d355b5e0 Ondrej Prazak
                                      :data => redeploy.output,
18 98379490 Ondrej Prazak
                                      :packages => packages.output[:package_names])
19 306517bc Ondrej Prazak
            plan_action(Promote, :job_id => job.id, :build_fails => bulk_build.output[:failed_count])
20 ef4e101d Ondrej Prazak
          end
21
        end
22
      end
23
    end
24
  end
25
end