pantaloon-cli 0.0.1

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml ADDED
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA1:
3
+ metadata.gz: 5e3790609c38217c32656b691e9d74319dd689c5
4
+ data.tar.gz: 6d779f196c40815e36aed79498019d53d2fc765e
5
+ SHA512:
6
+ metadata.gz: 92ac5d6b22b38193ebcafe8a76641c294011c2b47c96fb4b7e167f77288abd7d01d42cee7b1241942237eae1a87b0c48ace5c33ed41ad773a2804a677674c891
7
+ data.tar.gz: 0205e0be265b76eb63daa84f13841ac61b4c8672f7fcec0804cb7ce8105338822c9c2114d58f1f064e0d9976608b18882263ff376155c09f3814a945044e20a6
data/.gitignore ADDED
@@ -0,0 +1,14 @@
1
+ /.bundle/
2
+ /.yardoc
3
+ /Gemfile.lock
4
+ /_yardoc/
5
+ /coverage/
6
+ /doc/
7
+ /pkg/
8
+ /spec/reports/
9
+ /tmp/
10
+ *.bundle
11
+ *.so
12
+ *.o
13
+ *.a
14
+ mkmf.log
data/Dockerfile ADDED
@@ -0,0 +1,12 @@
1
+ FROM ruby:2.1.5
2
+
3
+ RUN useradd -m app
4
+
5
+ WORKDIR /usr/local/app
6
+ ADD . /usr/local/app
7
+
8
+ RUN chown app:app /usr/local/app
9
+
10
+ RUN bundle install
11
+
12
+ USER app
data/Gemfile ADDED
@@ -0,0 +1,4 @@
1
+ source 'https://rubygems.org'
2
+
3
+ # Specify your gem's dependencies in pantaloon-yml-parser.gemspec
4
+ gemspec
data/LICENSE.txt ADDED
@@ -0,0 +1,22 @@
1
+ Copyright (c) 2014 Arvind Kunday
2
+
3
+ MIT License
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining
6
+ a copy of this software and associated documentation files (the
7
+ "Software"), to deal in the Software without restriction, including
8
+ without limitation the rights to use, copy, modify, merge, publish,
9
+ distribute, sublicense, and/or sell copies of the Software, and to
10
+ permit persons to whom the Software is furnished to do so, subject to
11
+ the following conditions:
12
+
13
+ The above copyright notice and this permission notice shall be
14
+ included in all copies or substantial portions of the Software.
15
+
16
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
17
+ EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
18
+ MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
19
+ NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
20
+ LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
21
+ OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
22
+ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
data/Makefile ADDED
@@ -0,0 +1,11 @@
1
+ image_namespace=kunday
2
+ name=pantaloon-yml-parser
3
+
4
+ install:
5
+ docker build -t ${image_namespace}/${name} .
6
+ docker tag ${image_namespace}/${name} ${image_namespace}/${name}:latest
7
+ pull:
8
+ docker pull docker-registry.delivery.realestate.com.au/shinkansen/ubuntu-ruby2.1:latest
9
+ docker pull docker-registry.delivery.realestate.com.au/listings/pseeker-deploy:latest
10
+ push:
11
+ docker push docker-registry.delivery.realestate.com.au/listings/pseeker-deploy:latest
data/README.md ADDED
@@ -0,0 +1,62 @@
1
+ # pantaloon-cli
2
+
3
+ Generates job configuration for Jenkins.
4
+
5
+ ## Installation
6
+
7
+ Install it from command line like:
8
+
9
+ $ gem install pantaloon-cli
10
+
11
+ ## Usage
12
+ ```shell
13
+ pantaloon-cli [OPTIONS] [CONFIG] SUBCOMMAND [ARG] ...
14
+
15
+ Utils to generate and update Jenkins project config.
16
+
17
+ Parameters:
18
+ [CONFIG] pantaloon.yml file
19
+ SUBCOMMAND subcommand
20
+ [ARG] ... subcommand arguments
21
+
22
+ Subcommands:
23
+ dry-run Generate config and dump to command line.
24
+ apply Update configuration in server.
25
+
26
+ Options:
27
+ -h, --help print help
28
+ ```
29
+
30
+ Config file should look something like this:
31
+
32
+ ```yaml
33
+ name: pantaloon-cli
34
+ description: "Build for the pantaloon-cli gem"
35
+ url: https://github.com/kunday/pantaloon-cli
36
+ repositories:
37
+ cp-domain:
38
+ url: https://github.com/kunday/pantaloon-cli.git
39
+ workdir: pantaloon-cli
40
+ crendentials_id: 1
41
+ cp-styles:
42
+ url: https://github.com/kunday/test-repo.git
43
+ workdir: test-repo
44
+ crendentials_id: 2
45
+ steps:
46
+ - initialise:
47
+ - dockerise:
48
+ command: make pull && make
49
+ - publish:
50
+ command: make push
51
+ - test:
52
+ - specs:
53
+ command: bundle exec rake spec
54
+ ```
55
+
56
+ ## Contributing
57
+
58
+ 1. Fork it ( https://github.com/kunday/pantaloon-cli/fork )
59
+ 2. Create your feature branch (`git checkout -b my-new-feature`)
60
+ 3. Commit your changes (`git commit -am 'Add some feature'`)
61
+ 4. Push to the branch (`git push origin my-new-feature`)
62
+ 5. Create a new Pull Request
data/Rakefile ADDED
@@ -0,0 +1,4 @@
1
+ require "bundler/gem_tasks"
2
+ require 'rspec/core/rake_task'
3
+
4
+ RSpec::Core::RakeTask.new(:spec)
data/bin/pantaloon-cli ADDED
@@ -0,0 +1,37 @@
1
+ #!/usr/bin/env ruby
2
+
3
+ $LOAD_PATH.unshift File.expand_path("../../lib", __FILE__)
4
+
5
+ require 'clamp'
6
+ require 'pantaloon/configuration'
7
+
8
+ Clamp do
9
+
10
+ banner %{
11
+ Utils to generate and update Jenkins project config.
12
+ }
13
+
14
+ parameter "[CONFIG]", "pantaloon.yml file", :attribute_name => :config_file
15
+
16
+ subcommand "dry-run", "Generate config and dump to command line." do
17
+
18
+ def execute
19
+ config = Pantaloon::Configuration.new(File.read(config_file))
20
+ puts config.project_view
21
+ end
22
+
23
+ end
24
+
25
+ subcommand "apply", "Update configuration in server." do
26
+
27
+ parameter "[HOST]", "server host", :default => "localhost", :attribute_name => :host
28
+ parameter "[JOBNAME]", "job name", :attribute_name => :job_name
29
+
30
+ def execute
31
+ config = Pantaloon::Configuration.new(File.read(config_file))
32
+ File.write("config.xml", config.project_view)
33
+ end
34
+
35
+ end
36
+
37
+ end
data/fig.yml ADDED
@@ -0,0 +1,4 @@
1
+ app:
2
+ image: kunday/pantaloon-yml-parser:latest
3
+ volumes:
4
+ - .:/usr/local/app
@@ -0,0 +1,21 @@
1
+ require 'yaml'
2
+ require 'erb'
3
+
4
+ module Pantaloon
5
+ class Configuration
6
+ attr_accessor :config
7
+ def initialize(config)
8
+ @config = YAML.load(config)
9
+ end
10
+
11
+ def build_step
12
+ build_template = File.read(File.expand_path("../../../lib/pantaloon/templates/build-step.erb", __FILE__))
13
+ ERB.new(build_template).result(build_template.send(:binding))
14
+ end
15
+
16
+ def project_view
17
+ build_template = File.read(File.expand_path("../../../lib/pantaloon/templates/project-view.erb", __FILE__))
18
+ ERB.new(build_template).result(build_template.send(:binding))
19
+ end
20
+ end
21
+ end
@@ -0,0 +1,50 @@
1
+ <?xml version='1.0' encoding='UTF-8'?>
2
+ <project>
3
+ <actions/>
4
+ <description>docker-build <%= config.name %> </description>
5
+ <keepDependencies>false</keepDependencies>
6
+ <properties>
7
+ <com.coravy.hudson.plugins.github.GithubProjectProperty plugin="github@1.10">
8
+ <projectUrl><%= config.url %></projectUrl>
9
+ </com.coravy.hudson.plugins.github.GithubProjectProperty>
10
+ <com.sonyericsson.rebuild.RebuildSettings plugin="rebuild@1.22">
11
+ <autoRebuild>false</autoRebuild>
12
+ </com.sonyericsson.rebuild.RebuildSettings>
13
+ <hudson.plugins.throttleconcurrents.ThrottleJobProperty plugin="throttle-concurrents@1.8.4">
14
+ <maxConcurrentPerNode>0</maxConcurrentPerNode>
15
+ <maxConcurrentTotal>0</maxConcurrentTotal>
16
+ <throttleEnabled>false</throttleEnabled>
17
+ <throttleOption>project</throttleOption>
18
+ </hudson.plugins.throttleconcurrents.ThrottleJobProperty>
19
+ </properties>
20
+ <scm class="hudson.scm.NullSCM"/>
21
+ <canRoam>true</canRoam>
22
+ <disabled>false</disabled>
23
+ <blockBuildWhenDownstreamBuilding>false</blockBuildWhenDownstreamBuilding>
24
+ <blockBuildWhenUpstreamBuilding>false</blockBuildWhenUpstreamBuilding>
25
+ <triggers/>
26
+ <concurrentBuild>false</concurrentBuild>
27
+ <builders>
28
+ <hudson.plugins.copyartifact.CopyArtifact plugin="copyartifact@1.32.1">
29
+ <project><%= config.archive_build_name %></project>
30
+ <filter></filter>
31
+ <target></target>
32
+ <excludes></excludes>
33
+ <selector class="hudson.plugins.copyartifact.TriggeredBuildSelector">
34
+ <upstreamFilterStrategy>UseGlobalSetting</upstreamFilterStrategy>
35
+ </selector>
36
+ <doNotFingerprintArtifacts>false</doNotFingerprintArtifacts>
37
+ </hudson.plugins.copyartifact.CopyArtifact>
38
+ <hudson.tasks.Shell>
39
+ <command>
40
+ cd <%= config.name %>
41
+ unzip archive.zip
42
+ </command>
43
+ <command>
44
+ <%= config.steps.initialise.dockerise %>
45
+ </command>
46
+ </hudson.tasks.Shell>
47
+ </builders>
48
+ <publishers/>
49
+ <buildWrappers/>
50
+ </project>
@@ -0,0 +1,78 @@
1
+ <?xml version='1.0' encoding='UTF-8'?>
2
+ <project>
3
+ <actions/>
4
+ <description>git-archive for <%= config.name %></description>
5
+ <keepDependencies>false</keepDependencies>
6
+ <properties>
7
+ <com.coravy.hudson.plugins.github.GithubProjectProperty plugin="github@1.10">
8
+ <projectUrl><%= config.url %></projectUrl>
9
+ </com.coravy.hudson.plugins.github.GithubProjectProperty>
10
+ <hudson.model.ParametersDefinitionProperty>
11
+ <parameterDefinitions>
12
+ <hudson.model.StringParameterDefinition>
13
+ <name>sha1</name>
14
+ <description>git-sha, defaults to master</description>
15
+ <defaultValue>master</defaultValue>
16
+ </hudson.model.StringParameterDefinition>
17
+ </parameterDefinitions>
18
+ </hudson.model.ParametersDefinitionProperty>
19
+ <com.sonyericsson.rebuild.RebuildSettings plugin="rebuild@1.22">
20
+ <autoRebuild>false</autoRebuild>
21
+ </com.sonyericsson.rebuild.RebuildSettings>
22
+ <hudson.plugins.throttleconcurrents.ThrottleJobProperty plugin="throttle-concurrents@1.8.4">
23
+ <maxConcurrentPerNode>0</maxConcurrentPerNode>
24
+ <maxConcurrentTotal>0</maxConcurrentTotal>
25
+ <throttleEnabled>false</throttleEnabled>
26
+ <throttleOption>project</throttleOption>
27
+ </hudson.plugins.throttleconcurrents.ThrottleJobProperty>
28
+ </properties>
29
+ <scm class="org.jenkinsci.plugins.multiplescms.MultiSCM" plugin="multiple-scms@0.3">
30
+ <scms>
31
+ <hudson.plugins.git.GitSCM plugin="git@2.3.2">
32
+ <configVersion>2</configVersion>
33
+ <userRemoteConfigs>
34
+ <hudson.plugins.git.UserRemoteConfig>
35
+ <refspec>+refs/heads/*:refs/remotes/origin/* +refs/pull/*:refs/remotes/origin/pr/*</refspec>
36
+ <url><%= config.repo %></url>
37
+ <credentialsId>1</credentialsId>
38
+ </hudson.plugins.git.UserRemoteConfig>
39
+ </userRemoteConfigs>
40
+ <branches>
41
+ <hudson.plugins.git.BranchSpec>
42
+ <name>${sha1}</name>
43
+ </hudson.plugins.git.BranchSpec>
44
+ </branches>
45
+ <doGenerateSubmoduleConfigurations>false</doGenerateSubmoduleConfigurations>
46
+ <submoduleCfg class="list"/>
47
+ <extensions>
48
+ <hudson.plugins.git.extensions.impl.RelativeTargetDirectory>
49
+ <relativeTargetDir><%= config.name %> </relativeTargetDir>
50
+ </hudson.plugins.git.extensions.impl.RelativeTargetDirectory>
51
+ </extensions>
52
+ </hudson.plugins.git.GitSCM>
53
+ </scms>
54
+ </scm>
55
+ <canRoam>true</canRoam>
56
+ <disabled>false</disabled>
57
+ <blockBuildWhenDownstreamBuilding>false</blockBuildWhenDownstreamBuilding>
58
+ <blockBuildWhenUpstreamBuilding>false</blockBuildWhenUpstreamBuilding>
59
+ <concurrentBuild>true</concurrentBuild>
60
+ <builders>
61
+ <hudson.tasks.Shell>
62
+ <command>
63
+ cd <%= archive.name %>
64
+ rm -rf archive.zip
65
+ git archive HEAD --format=zip &gt; archive.zip
66
+ </command>
67
+ </hudson.tasks.Shell>
68
+ </builders>
69
+ <publishers>
70
+ <hudson.tasks.ArtifactArchiver>
71
+ <artifacts><%= config.name %>/archive.zip</artifacts>
72
+ <allowEmptyArchive>false</allowEmptyArchive>
73
+ <onlyIfSuccessful>false</onlyIfSuccessful>
74
+ <fingerprint>true</fingerprint>
75
+ <defaultExcludes>true</defaultExcludes>
76
+ </hudson.tasks.ArtifactArchiver>
77
+ </publishers>
78
+ </project>
@@ -0,0 +1,65 @@
1
+ <?xml version='1.0' encoding='UTF-8'?>
2
+ <com.tikal.jenkins.plugins.multijob.MultiJobProject plugin="jenkins-multijob-plugin@1.16">
3
+ <actions/>
4
+ <description></description>
5
+ <keepDependencies>false</keepDependencies>
6
+ <properties>
7
+ <com.sonyericsson.rebuild.RebuildSettings plugin="rebuild@1.22">
8
+ <autoRebuild>false</autoRebuild>
9
+ </com.sonyericsson.rebuild.RebuildSettings>
10
+ <hudson.plugins.throttleconcurrents.ThrottleJobProperty plugin="throttle-concurrents@1.8.4">
11
+ <maxConcurrentPerNode>0</maxConcurrentPerNode>
12
+ <maxConcurrentTotal>0</maxConcurrentTotal>
13
+ <throttleEnabled>false</throttleEnabled>
14
+ <throttleOption>project</throttleOption>
15
+ </hudson.plugins.throttleconcurrents.ThrottleJobProperty>
16
+ </properties>
17
+ <scm class="org.jenkinsci.plugins.multiplescms.MultiSCM" plugin="multiple-scms@0.3">
18
+ <scms>
19
+ <% config["repositories"].each do |name, repo_config|%>
20
+ <hudson.plugins.git.GitSCM plugin="git@2.3.2">
21
+ <userRemoteConfigs>
22
+ <hudson.plugins.git.UserRemoteConfig>
23
+ <refspec>+refs/heads/*:refs/remotes/origin/* +refs/pull/*:refs/remotes/origin/pr/*</refspec>
24
+ <url><%= repo_config["url"] %></url>
25
+ <credentialsId><%= repo_config["credentials_id"] %></credentialsId>
26
+ </hudson.plugins.git.UserRemoteConfig>
27
+ </userRemoteConfigs>
28
+ <branches>
29
+ <hudson.plugins.git.BranchSpec>
30
+ <name>${sha1}</name>
31
+ </hudson.plugins.git.BranchSpec>
32
+ </branches>
33
+ <doGenerateSubmoduleConfigurations>false</doGenerateSubmoduleConfigurations>
34
+ <submoduleCfg class="list"/>
35
+ <extensions>
36
+ <hudson.plugins.git.extensions.impl.RelativeTargetDirectory>
37
+ <relativeTargetDir><%= repo_config["workdir"] %> </relativeTargetDir>
38
+ </hudson.plugins.git.extensions.impl.RelativeTargetDirectory>
39
+ </extensions>
40
+ </hudson.plugins.git.GitSCM>
41
+ <% end %>
42
+ </scms>
43
+ </scm>
44
+ <canRoam>true</canRoam>
45
+ <disabled>false</disabled>
46
+ <blockBuildWhenDownstreamBuilding>false</blockBuildWhenDownstreamBuilding>
47
+ <blockBuildWhenUpstreamBuilding>false</blockBuildWhenUpstreamBuilding>
48
+ <triggers/>
49
+ <concurrentBuild>false</concurrentBuild>
50
+ <builders>
51
+ <% config["steps"].each do |step| %>
52
+ <% step.each do |job_name, tasks| %>
53
+ <% tasks.each do |task| %>
54
+ <% task.each do |task_name, command| %>
55
+ <hudson.tasks.Shell>
56
+ <command><%= command["command"] %></command>
57
+ </hudson.tasks.Shell>
58
+ <% end %>
59
+ <% end %>
60
+ <% end %>
61
+ <% end %>
62
+ </builders>
63
+ <publishers/>
64
+ <buildWrappers/>
65
+ </com.tikal.jenkins.plugins.multijob.MultiJobProject>
@@ -0,0 +1,23 @@
1
+ # coding: utf-8
2
+ lib = File.expand_path('../lib', __FILE__)
3
+ $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
4
+
5
+ Gem::Specification.new do |spec|
6
+ spec.name = "pantaloon-cli"
7
+ spec.version = "0.0.1"
8
+ spec.authors = ["Arvind Kunday"]
9
+ spec.email = ["kunday@gmail.com"]
10
+ spec.summary = %q{Jenkins job builder}
11
+ spec.description = %q{Build Jenkins Compatible XML Config files for projects represented in pantaloon build format.}
12
+ spec.homepage = "https://github.com/kunday/pantaloon-cli"
13
+ spec.license = "MIT"
14
+
15
+ spec.files = `git ls-files -z`.split("\x0")
16
+ spec.executables = spec.files.grep(%r{^bin/}) { |f| File.basename(f) }
17
+ spec.require_paths = ["lib"]
18
+
19
+ spec.add_development_dependency "bundler"
20
+ spec.add_development_dependency "rake"
21
+ spec.add_development_dependency "rspec"
22
+ spec.add_dependency "clamp"
23
+ end
data/pantaloon.yml ADDED
@@ -0,0 +1,17 @@
1
+ name: pantaloon-cli
2
+ description: "Build for the pantaloon-cli gem"
3
+ url: https://github.com/kunday/pantaloon-cli
4
+ repositories:
5
+ cp-domain:
6
+ url: https://github.com/kunday/pantaloon-cli.git
7
+ workdir: pantaloon-cli
8
+ crendentials_id: 1
9
+ steps:
10
+ - initialise:
11
+ - dockerise:
12
+ command: make pull && make
13
+ - publish:
14
+ command: make push
15
+ - test:
16
+ - specs:
17
+ command: bundle exec rake spec
metadata ADDED
@@ -0,0 +1,117 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: pantaloon-cli
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.0.1
5
+ platform: ruby
6
+ authors:
7
+ - Arvind Kunday
8
+ autorequire:
9
+ bindir: bin
10
+ cert_chain: []
11
+ date: 2014-12-21 00:00:00.000000000 Z
12
+ dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: bundler
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - ">="
18
+ - !ruby/object:Gem::Version
19
+ version: '0'
20
+ type: :development
21
+ prerelease: false
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - ">="
25
+ - !ruby/object:Gem::Version
26
+ version: '0'
27
+ - !ruby/object:Gem::Dependency
28
+ name: rake
29
+ requirement: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - ">="
32
+ - !ruby/object:Gem::Version
33
+ version: '0'
34
+ type: :development
35
+ prerelease: false
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - ">="
39
+ - !ruby/object:Gem::Version
40
+ version: '0'
41
+ - !ruby/object:Gem::Dependency
42
+ name: rspec
43
+ requirement: !ruby/object:Gem::Requirement
44
+ requirements:
45
+ - - ">="
46
+ - !ruby/object:Gem::Version
47
+ version: '0'
48
+ type: :development
49
+ prerelease: false
50
+ version_requirements: !ruby/object:Gem::Requirement
51
+ requirements:
52
+ - - ">="
53
+ - !ruby/object:Gem::Version
54
+ version: '0'
55
+ - !ruby/object:Gem::Dependency
56
+ name: clamp
57
+ requirement: !ruby/object:Gem::Requirement
58
+ requirements:
59
+ - - ">="
60
+ - !ruby/object:Gem::Version
61
+ version: '0'
62
+ type: :runtime
63
+ prerelease: false
64
+ version_requirements: !ruby/object:Gem::Requirement
65
+ requirements:
66
+ - - ">="
67
+ - !ruby/object:Gem::Version
68
+ version: '0'
69
+ description: Build Jenkins Compatible XML Config files for projects represented in
70
+ pantaloon build format.
71
+ email:
72
+ - kunday@gmail.com
73
+ executables:
74
+ - pantaloon-cli
75
+ extensions: []
76
+ extra_rdoc_files: []
77
+ files:
78
+ - ".gitignore"
79
+ - Dockerfile
80
+ - Gemfile
81
+ - LICENSE.txt
82
+ - Makefile
83
+ - README.md
84
+ - Rakefile
85
+ - bin/pantaloon-cli
86
+ - fig.yml
87
+ - lib/pantaloon/configuration.rb
88
+ - lib/pantaloon/templates/build-step.erb
89
+ - lib/pantaloon/templates/git-archive.erb
90
+ - lib/pantaloon/templates/project-view.erb
91
+ - pantaloon-cli.gemspec
92
+ - pantaloon.yml
93
+ homepage: https://github.com/kunday/pantaloon-cli
94
+ licenses:
95
+ - MIT
96
+ metadata: {}
97
+ post_install_message:
98
+ rdoc_options: []
99
+ require_paths:
100
+ - lib
101
+ required_ruby_version: !ruby/object:Gem::Requirement
102
+ requirements:
103
+ - - ">="
104
+ - !ruby/object:Gem::Version
105
+ version: '0'
106
+ required_rubygems_version: !ruby/object:Gem::Requirement
107
+ requirements:
108
+ - - ">="
109
+ - !ruby/object:Gem::Version
110
+ version: '0'
111
+ requirements: []
112
+ rubyforge_project:
113
+ rubygems_version: 2.2.2
114
+ signing_key:
115
+ specification_version: 4
116
+ summary: Jenkins job builder
117
+ test_files: []