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 |