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
39
40
41
42
43
44
45
46
47
48
49
50
51
52
|
# File 'lib/jenkins_factory.rb', line 7
def create(controller_ip:,
ec2_keypair_name:,
vpc_id:,
subnet_id:,
job_repo:,
job_repo_branch: 'master',
job_definition_relative_path:,
jenkins_admin_username:,
jenkins_admin_password:,
extra_user_data_provisioning: [],
associate_public_ip_address: true)
customisations = {
'jenkins_base_ami_id' => BaseJenkinsAmi.new.discover_base_ami,
'jenkins_ingress_ssh_cidr' => controller_ip,
'jenkins_ec2_key_pair_name' => ec2_keypair_name,
'subnet_id' => subnet_id,
'vpc_id' => vpc_id,
'associate_public_ip_address' => associate_public_ip_address.to_s,
'extra_userdata' =>
}
stack_outputs = converge_jenkins_stack customisations: customisations
jenkins_connection_info = {
'jenkins_url' => stack_outputs['JenkinsURL'],
'jenkins_user' => jenkins_admin_username,
'jenkins_pass' => jenkins_admin_password
}
jobs_location = {
'job_repo' => job_repo,
'job_repo_branch' => job_repo_branch,
'job_definition_relative_path' => job_definition_relative_path
}
JobSeeder.new.seed_jobs jenkins_connection_info: jenkins_connection_info,
jobs_location: jobs_location
stack_outputs['JenkinsURL']
end
|