jenkins-capistrano 0.0.3 → 0.0.4

Sign up to get free protection for your applications and to get access to all the features.
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