jenkins-factory 0.0.3 → 0.0.4
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/bin/jenkins_factory +7 -10
- data/lib/util.rb +26 -0
- metadata +3 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 2e7df192bece4ec52515c421905cbdc95b328bc5
|
4
|
+
data.tar.gz: e72ee9c369efaef5909f971b74975ab62d6930a1
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: fac86c78d7b73361c9065f8234ea2bac59e25367569b364c9a269e8f3a19bd480d817bb85bfd008ee0a1caa02c48b0b9b87a793839e4b340c22ecbf60f3318d2
|
7
|
+
data.tar.gz: 2042f1693adede5158a5fd2f4a4d42e65e11703ace8311f4af611fffa9ccbadf963cd070dc97228ad3238fb5e60e0930285be0dbf309eb6fce844dbcb436bab9
|
data/bin/jenkins_factory
CHANGED
@@ -2,22 +2,19 @@
|
|
2
2
|
require 'trollop'
|
3
3
|
require 'jenkins_factory'
|
4
4
|
require 'yaml'
|
5
|
+
require 'util'
|
5
6
|
|
6
7
|
opts = Trollop::options do
|
7
|
-
opt :jenkins_settings_yml_path, '
|
8
|
+
opt :jenkins_settings_yml_path, 'YAML path', type: :string, required: true
|
8
9
|
end
|
9
10
|
|
10
|
-
|
11
|
-
secret_properties = YAML.load_file("secret_#{opts[:jenkins_settings_yml_path]}")
|
12
|
-
jenkins_settings.merge! secret_properties
|
11
|
+
Trollop::die :jenkins_settings_yml_path, 'Must end in .yml' unless opts[:jenkins_settings_yml_path].end_with?('.yml')
|
13
12
|
|
14
|
-
jenkins_settings
|
15
|
-
|
16
|
-
|
17
|
-
end
|
13
|
+
jenkins_settings = merge_secrets(opts[:jenkins_settings_yml_path])
|
14
|
+
|
15
|
+
Util.transform_keys_to_symbols(jenkins_settings)
|
18
16
|
|
19
|
-
|
20
|
-
jenkins_settings[:controller_ip] = "#{my_ip.chomp}/32"
|
17
|
+
jenkins_settings[:controller_ip] = Util.discover_my_public_ip_cidr
|
21
18
|
|
22
19
|
jenkins_url = JenkinsFactory.new.create(jenkins_settings)
|
23
20
|
|
data/lib/util.rb
ADDED
@@ -0,0 +1,26 @@
|
|
1
|
+
module Util
|
2
|
+
def self.secrets_file_path(yml_path)
|
3
|
+
yml_split_path = File.split(yml_path)
|
4
|
+
secret_name_base = File.basename yml_split_path[1], '.yml'
|
5
|
+
File.join yml_split_path[0], "#{secret_name_base}_secret.yml"
|
6
|
+
end
|
7
|
+
|
8
|
+
def self.merge_secrets(yml_path)
|
9
|
+
jenkins_settings = YAML.load_file(yml_path)
|
10
|
+
secret_properties = secrets_file_path(yml_path)
|
11
|
+
jenkins_settings.merge! secret_properties
|
12
|
+
jenkins_settings
|
13
|
+
end
|
14
|
+
|
15
|
+
def self.transform_keys_to_symbols(hash)
|
16
|
+
hash.keys.each do |k|
|
17
|
+
hash[k.to_sym] = hash[k]
|
18
|
+
hash.delete k
|
19
|
+
end
|
20
|
+
end
|
21
|
+
|
22
|
+
def self.discover_my_public_ip_cidr
|
23
|
+
my_ip = `dig @resolver1.opendns.com myip.opendns.com +short`
|
24
|
+
"#{my_ip.chomp}/32"
|
25
|
+
end
|
26
|
+
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: jenkins-factory
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.4
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- someguy
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2016-04-
|
11
|
+
date: 2016-04-06 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: trollop
|
@@ -65,6 +65,7 @@ files:
|
|
65
65
|
- lib/cfndsl/jenkins_cfndsl.rb
|
66
66
|
- lib/jenkins_factory.rb
|
67
67
|
- lib/job_seeder.rb
|
68
|
+
- lib/util.rb
|
68
69
|
homepage: https://github.com/stelligent/jenkins-factory
|
69
70
|
licenses:
|
70
71
|
- MIT
|