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.
Files changed (4) hide show
  1. checksums.yaml +4 -4
  2. data/bin/jenkins_factory +7 -10
  3. data/lib/util.rb +26 -0
  4. metadata +3 -2
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 60aaf76876752d63addddac33250f51bf111b9a5
4
- data.tar.gz: 74680ab235cec211d7f6f36ac2a2e83222e48d7a
3
+ metadata.gz: 2e7df192bece4ec52515c421905cbdc95b328bc5
4
+ data.tar.gz: e72ee9c369efaef5909f971b74975ab62d6930a1
5
5
  SHA512:
6
- metadata.gz: 912768ca97933987e8e5778199dca65b46e503438e6d65ee991aad2f00a2a7d6fd2196298bf99aa5b6042cb97bf66f68d352c96acb0a569cc9ab4e3b1ff54bd7
7
- data.tar.gz: 41500759ede7d4c6df788102a6bceb6e82607ee654d7d8806eaeecd10e07159c2c0e9eb0e17136040200752f03425544162f03d18113819c2fe5b172143cf8e7
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, 'Show the YAML here', type: :string, required: true
8
+ opt :jenkins_settings_yml_path, 'YAML path', type: :string, required: true
8
9
  end
9
10
 
10
- jenkins_settings = YAML.load_file(opts[:jenkins_settings_yml_path])
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.keys.each do |k|
15
- jenkins_settings[k.to_sym] = jenkins_settings[k]
16
- jenkins_settings.delete k
17
- end
13
+ jenkins_settings = merge_secrets(opts[:jenkins_settings_yml_path])
14
+
15
+ Util.transform_keys_to_symbols(jenkins_settings)
18
16
 
19
- my_ip = `dig @resolver1.opendns.com myip.opendns.com +short`
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.3
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-05 00:00:00.000000000 Z
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