jenkins-capistrano 0.0.3 → 0.0.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
data/README.rst CHANGED
@@ -54,7 +54,7 @@ deploy.rb::
54
54
  Node Configuration
55
55
  ~~~~~~~~~~~~~~~~~~
56
56
 
57
- config directory structure::
57
+ config directory structure(name your json file as a node name)::
58
58
 
59
59
  config
60
60
  ├── deploy.rb
@@ -64,6 +64,28 @@ config directory structure::
64
64
     ├── node2.json
65
65
     └── node3.json
66
66
 
67
+ sample node configuration::
68
+
69
+ {
70
+ "name" : "example",
71
+ "type" : "hudson.slaves.DumbSlave$DescriptorImpl",
72
+ "description" : "some description",
73
+ "executors" : 2,
74
+ "labels" : "linux, java, ruby",
75
+ "slave_host" : "example.com",
76
+ "slave_port" : 22,
77
+ "slave_user" : "jenkins",
78
+ "master_key" : "/var/lib/jenkins/.ssh/id_rsa",
79
+ "slave_fs" : "/home/jenkins",
80
+ "exclusive" : true,
81
+ "java_path": "/opt/java/bin/java",
82
+ "jvm_options": "-Xmx512M",
83
+ "env_vars": {
84
+ "key1": "val1",
85
+ "key2": "val2"
86
+ }
87
+ }
88
+
67
89
  deploy.rb::
68
90
 
69
91
  set :application, "your-awesome-app"
@@ -77,7 +99,8 @@ deploy.rb::
77
99
 
78
100
  before 'deploy', 'jenkins:config_nodes'
79
101
 
80
- ## Contributing
102
+ Contributing
103
+ ============
81
104
 
82
105
  1. Fork it
83
106
  2. Create your feature branch (`git checkout -b my-new-feature`)
@@ -42,11 +42,12 @@ module Jenkins
42
42
  options = default_node_options.merge(opts)
43
43
  options[:name] = name
44
44
  options[:labels] = options[:labels].split(/\s*,\s*/).join(' ') if options[:labels]
45
+ options[:env_vars] = options[:env_vars].map { |k, v| { :key => k, :value => v } }
45
46
 
46
47
  response = post_form("/computer/doCreateItem", node_form_fields(options))
47
48
  case response
48
49
  when Net::HTTPFound
49
- { :name => options[:name], :slave_host => options[:slave_host] }
50
+ { :name => name, :slave_host => options[:slave_host] }
50
51
  else
51
52
  raise ServerError, parse_error_message(response)
52
53
  end
@@ -56,11 +57,12 @@ module Jenkins
56
57
  options = default_node_options.merge(opts)
57
58
  options[:name] = name
58
59
  options[:labels] = options[:labels].split(/\s*,\s*/).join(' ') if options[:labels]
60
+ options[:env_vars] = options[:env_vars].map { |k, v| { :key => k, :value => v } }
59
61
 
60
62
  response = post_form("/computer/#{CGI::escape(name)}/configSubmit", node_form_fields(options))
61
63
  case response
62
64
  when Net::HTTPFound
63
- { :name => options[:name], :slave_host => options[:slave_host] }
65
+ { :name => name, :slave_host => options[:slave_host] }
64
66
  else
65
67
  raise ServerError, parse_error_message(response)
66
68
  end
@@ -127,19 +129,25 @@ module Jenkins
127
129
  "labelString" => options[:labels],
128
130
  "mode" => options[:exclusive] ? "EXCLUSIVE" : "NORMAL",
129
131
  "retentionStrategy" => { "stapler-class" => "hudson.slaves.RetentionStrategy$Always" },
130
- "nodeProperties" => { "stapler-class-bag" => "true" },
131
132
  "launcher" => {
132
133
  "stapler-class" => "hudson.plugins.sshslaves.SSHLauncher",
133
134
  "host" => options[:slave_host],
134
135
  "port" => options[:slave_port],
135
136
  "username" => options[:slave_user],
136
137
  "privatekey" => options[:master_key],
138
+ "javaPath" => options[:java_path],
139
+ "jvmOptions" => options[:jvm_options]
140
+ },
141
+ "nodeProperties" => {
142
+ "stapler-class-bag" => "true",
143
+ "hudson-slaves-EnvironmentVariablesNodeProperty" => {
144
+ "env" => options[:env_vars]
145
+ }
137
146
  }
138
147
  }.to_json
139
148
  }
140
149
  end
141
150
 
142
-
143
151
  end
144
152
  end
145
153
 
@@ -1,5 +1,5 @@
1
1
  module Jenkins
2
2
  module Capistrano
3
- VERSION = "0.0.3"
3
+ VERSION = "0.0.4"
4
4
  end
5
5
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: jenkins-capistrano
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.3
4
+ version: 0.0.4
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2012-06-13 00:00:00.000000000 Z
12
+ date: 2012-06-24 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: capistrano
@@ -121,7 +121,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
121
121
  version: '0'
122
122
  segments:
123
123
  - 0
124
- hash: 2715284464672624709
124
+ hash: 2200036594680116764
125
125
  required_rubygems_version: !ruby/object:Gem::Requirement
126
126
  none: false
127
127
  requirements:
@@ -130,7 +130,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
130
130
  version: '0'
131
131
  segments:
132
132
  - 0
133
- hash: 2715284464672624709
133
+ hash: 2200036594680116764
134
134
  requirements: []
135
135
  rubyforge_project:
136
136
  rubygems_version: 1.8.24