depengine 3.0.20 → 3.0.21
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.rubocop.yml +8 -0
- data/.rubocop_todo.yml +52 -0
- data/Gemfile.lock +16 -1
- data/Rakefile +9 -9
- data/bin/cdb_crypt +2 -2
- data/bin/de +1 -1
- data/bin/depengine +2 -2
- data/bin/spec_setup +2 -2
- data/depengine.gemspec +22 -21
- data/lib/depengine/asserter/url.rb +8 -9
- data/lib/depengine/cli.rb +12 -14
- data/lib/depengine/dsl/cdb.rb +16 -17
- data/lib/depengine/dsl/deployment.rb +42 -50
- data/lib/depengine/dsl/dweb.rb +10 -11
- data/lib/depengine/dsl/executor.rb +5 -5
- data/lib/depengine/dsl/fileops.rb +3 -4
- data/lib/depengine/dsl/helper.rb +26 -28
- data/lib/depengine/dsl/iis.rb +21 -24
- data/lib/depengine/dsl/patch.rb +22 -46
- data/lib/depengine/dsl/publisher.rb +14 -14
- data/lib/depengine/dsl/remote.rb +11 -13
- data/lib/depengine/dsl/repository.rb +19 -21
- data/lib/depengine/dsl/template.rb +19 -19
- data/lib/depengine/dsl/zip.rb +24 -24
- data/lib/depengine/helper/cli_helper.rb +9 -11
- data/lib/depengine/helper/hudson.rb +15 -19
- data/lib/depengine/helper/mail.rb +19 -25
- data/lib/depengine/helper/properties.rb +33 -52
- data/lib/depengine/helper/smb.rb +19 -25
- data/lib/depengine/helper/validations.rb +7 -7
- data/lib/depengine/helper/yaml.rb +7 -9
- data/lib/depengine/log/log.rb +3 -6
- data/lib/depengine/processor/erb_template.rb +42 -47
- data/lib/depengine/processor/fileops.rb +39 -48
- data/lib/depengine/processor/local_execute.rb +6 -4
- data/lib/depengine/processor/properties.rb +34 -56
- data/lib/depengine/processor/sed.rb +8 -12
- data/lib/depengine/processor/tags.rb +9 -10
- data/lib/depengine/processor/template.rb +27 -32
- data/lib/depengine/processor/zip.rb +16 -20
- data/lib/depengine/provider/cdb.rb +64 -71
- data/lib/depengine/provider/cdb_filesystem.rb +18 -26
- data/lib/depengine/provider/git.rb +37 -42
- data/lib/depengine/provider/repository.rb +161 -176
- data/lib/depengine/publisher/dweb.rb +74 -90
- data/lib/depengine/publisher/iis.rb +23 -30
- data/lib/depengine/publisher/rsync.rb +14 -17
- data/lib/depengine/publisher/samba.rb +12 -14
- data/lib/depengine/publisher/sftp.rb +51 -61
- data/lib/depengine/publisher/ssh.rb +19 -22
- data/lib/depengine/publisher/tomcat.rb +19 -21
- data/lib/depengine/reporter/cdb.rb +2 -3
- data/lib/depengine/version.rb +1 -1
- data/lib/depengine.rb +1 -2
- data/spec/cdb_spec.rb +8 -10
- data/spec/demo_recipe/recipes/demo.rb +10 -10
- data/spec/deployhelper_spec.rb +20 -21
- data/spec/fileops_spec.rb +11 -12
- data/spec/git_spec.rb +8 -4
- data/spec/helper_spec.rb +75 -75
- data/spec/junit.rb +47 -49
- data/spec/local_execute.rb +7 -7
- data/spec/log_spec.rb +17 -18
- data/spec/properties_spec.rb +13 -15
- data/spec/recipe_spec.rb +15 -16
- data/spec/repository_spec.rb +20 -20
- data/spec/ssh_spec.rb +18 -19
- data/spec/template_spec.rb +30 -30
- data/spec/zip_spec.rb +7 -7
- metadata +18 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 77d8ce63b2b7d174f750afd9267e3d87ebc7dfe4
|
4
|
+
data.tar.gz: 2d3878eb61c21a861bd43daa060253660d2dae2c
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 506d0e6e2a449ce90e46084a3dd0578219d73b743c7d5d33b5460ae0ed3b012fdce80ce6728db110c12a5685de0b673cdf285bae9bd5b980d4e78d80b7f34ed2
|
7
|
+
data.tar.gz: e496cbf6a995a0b23067aab36d2653c2bc6ddbd7c282dc2a43182ef21c0ad8a843a03599d7a6b879dfa0aa6abdd66ce2fa406c89288085b943ecddc0c2904509
|
data/.rubocop.yml
ADDED
data/.rubocop_todo.yml
ADDED
@@ -0,0 +1,52 @@
|
|
1
|
+
# This configuration was generated by `rubocop --auto-gen-config`
|
2
|
+
# on 2014-08-05 09:15:27 +0000 using RuboCop version 0.24.1.
|
3
|
+
# The point is for the user to remove these configuration records
|
4
|
+
# one by one as the offenses are removed from the code base.
|
5
|
+
# Note that changes in the inspected code, or installation of new
|
6
|
+
# versions of RuboCop, may require this file to be generated again.
|
7
|
+
|
8
|
+
# Offense count: 28
|
9
|
+
# Cop supports --auto-correct.
|
10
|
+
Style/AndOr:
|
11
|
+
Enabled: false
|
12
|
+
|
13
|
+
# Offense count: 2
|
14
|
+
Style/BlockNesting:
|
15
|
+
Max: 4
|
16
|
+
|
17
|
+
# Offense count: 5
|
18
|
+
# Configuration parameters: CountComments.
|
19
|
+
Style/ClassLength:
|
20
|
+
Max: 160
|
21
|
+
|
22
|
+
# Offense count: 18
|
23
|
+
Style/CyclomaticComplexity:
|
24
|
+
Max: 18
|
25
|
+
|
26
|
+
# Offense count: 48
|
27
|
+
Style/Documentation:
|
28
|
+
Enabled: false
|
29
|
+
|
30
|
+
# Offense count: 400
|
31
|
+
# Configuration parameters: AllowedVariables.
|
32
|
+
Style/GlobalVars:
|
33
|
+
Enabled: false
|
34
|
+
|
35
|
+
# Offense count: 195
|
36
|
+
# Configuration parameters: AllowURI.
|
37
|
+
Style/LineLength:
|
38
|
+
Max: 236
|
39
|
+
|
40
|
+
# Offense count: 66
|
41
|
+
# Configuration parameters: CountComments.
|
42
|
+
Style/MethodLength:
|
43
|
+
Max: 57
|
44
|
+
|
45
|
+
# Offense count: 19
|
46
|
+
# Cop supports --auto-correct.
|
47
|
+
Style/Not:
|
48
|
+
Enabled: false
|
49
|
+
|
50
|
+
# Offense count: 9
|
51
|
+
Style/SelfAssignment:
|
52
|
+
Enabled: false
|
data/Gemfile.lock
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
PATH
|
2
2
|
remote: .
|
3
3
|
specs:
|
4
|
-
depengine (3.0.
|
4
|
+
depengine (3.0.20)
|
5
5
|
expect4r (~> 0.0)
|
6
6
|
json (~> 1.4)
|
7
7
|
log4r (~> 1.1)
|
@@ -15,6 +15,7 @@ PATH
|
|
15
15
|
GEM
|
16
16
|
remote: https://rubygems.org/
|
17
17
|
specs:
|
18
|
+
ast (2.0.0)
|
18
19
|
builder (3.2.2)
|
19
20
|
diff-lcs (1.2.5)
|
20
21
|
expect4r (0.0.10)
|
@@ -32,14 +33,19 @@ GEM
|
|
32
33
|
net-sftp (2.1.2)
|
33
34
|
net-ssh (>= 2.6.5)
|
34
35
|
net-ssh (2.8.0)
|
36
|
+
parser (2.2.0.pre.3)
|
37
|
+
ast (>= 1.1, < 3.0)
|
38
|
+
slop (~> 3.4, >= 3.4.5)
|
35
39
|
polyglot (0.3.4)
|
36
40
|
pony (1.8)
|
37
41
|
mail (>= 2.0)
|
42
|
+
powerpack (0.0.9)
|
38
43
|
ptools (1.2.4)
|
39
44
|
rack (1.5.2)
|
40
45
|
rack-protection (1.5.3)
|
41
46
|
rack
|
42
47
|
radius (0.7.4)
|
48
|
+
rainbow (2.0.0)
|
43
49
|
rspec (2.14.1)
|
44
50
|
rspec-core (~> 2.14.0)
|
45
51
|
rspec-expectations (~> 2.14.0)
|
@@ -48,10 +54,18 @@ GEM
|
|
48
54
|
rspec-expectations (2.14.5)
|
49
55
|
diff-lcs (>= 1.1.3, < 2.0)
|
50
56
|
rspec-mocks (2.14.6)
|
57
|
+
rubocop (0.24.1)
|
58
|
+
json (>= 1.7.7, < 2)
|
59
|
+
parser (>= 2.2.0.pre.3, < 3.0)
|
60
|
+
powerpack (~> 0.0.6)
|
61
|
+
rainbow (>= 1.99.1, < 3.0)
|
62
|
+
ruby-progressbar (~> 1.4)
|
63
|
+
ruby-progressbar (1.5.1)
|
51
64
|
sinatra (1.4.5)
|
52
65
|
rack (~> 1.4)
|
53
66
|
rack-protection (~> 1.4)
|
54
67
|
tilt (~> 1.3, >= 1.3.4)
|
68
|
+
slop (3.6.0)
|
55
69
|
tilt (1.4.1)
|
56
70
|
treetop (1.4.15)
|
57
71
|
polyglot
|
@@ -65,4 +79,5 @@ DEPENDENCIES
|
|
65
79
|
depengine!
|
66
80
|
fakefs (~> 0.5)
|
67
81
|
rspec (~> 2.14)
|
82
|
+
rubocop (~> 0.24.1)
|
68
83
|
sinatra (~> 1.4)
|
data/Rakefile
CHANGED
@@ -1,16 +1,16 @@
|
|
1
|
-
desc
|
1
|
+
desc 'run depengine'
|
2
2
|
task :it do
|
3
|
-
sh
|
4
|
-
sh
|
3
|
+
sh 'bundle install'
|
4
|
+
sh '`pwd`/bin/depengine'
|
5
5
|
end
|
6
6
|
|
7
|
-
desc
|
7
|
+
desc 'Generate gem'
|
8
8
|
task :build do
|
9
|
-
sh
|
9
|
+
sh 'gem build -V depengine.gemspec'
|
10
10
|
end
|
11
11
|
|
12
|
-
desc
|
12
|
+
desc 'generates docs for the DSL'
|
13
13
|
task :doc do
|
14
|
-
sh
|
15
|
-
sh
|
16
|
-
end
|
14
|
+
sh 'rm -rf doc/'
|
15
|
+
sh 'rdoc lib/depengine/dsl/*.rb'
|
16
|
+
end
|
data/bin/cdb_crypt
CHANGED
@@ -7,8 +7,8 @@
|
|
7
7
|
#
|
8
8
|
|
9
9
|
require 'pathname'
|
10
|
-
ENV['BUNDLE_GEMFILE'] ||= File.expand_path(
|
11
|
-
|
10
|
+
ENV['BUNDLE_GEMFILE'] ||= File.expand_path('../../Gemfile',
|
11
|
+
Pathname.new(__FILE__).realpath)
|
12
12
|
|
13
13
|
require 'rubygems'
|
14
14
|
require 'bundler/setup'
|
data/bin/de
CHANGED
data/bin/depengine
CHANGED
@@ -7,8 +7,8 @@
|
|
7
7
|
#
|
8
8
|
|
9
9
|
require 'pathname'
|
10
|
-
ENV['BUNDLE_GEMFILE'] ||= File.expand_path(
|
11
|
-
|
10
|
+
ENV['BUNDLE_GEMFILE'] ||= File.expand_path('../../Gemfile',
|
11
|
+
Pathname.new(__FILE__).realpath)
|
12
12
|
|
13
13
|
require 'rubygems'
|
14
14
|
require 'bundler/setup'
|
data/bin/spec_setup
CHANGED
@@ -1,8 +1,8 @@
|
|
1
1
|
#!/usr/bin/env ruby
|
2
2
|
|
3
|
-
puts
|
3
|
+
puts 'running apt-get to install packages:'
|
4
4
|
`sudo apt-get install zip postfix subversion`
|
5
5
|
|
6
6
|
puts "allowing #{ENV['USER']} to SSH into localhost"
|
7
|
-
`ssh-keygen -f #{ENV['HOME']}/.ssh/id_rsa -N "" -q` unless File.
|
7
|
+
`ssh-keygen -f #{ENV['HOME']}/.ssh/id_rsa -N "" -q` unless File.exist? ENV['HOME'] + '/.ssh/id_rsa'
|
8
8
|
`cat #{ENV['HOME']}/.ssh/id_rsa.pub >> #{ENV['HOME']}/.ssh/authorized_keys`
|
data/depengine.gemspec
CHANGED
@@ -3,36 +3,37 @@ $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
|
|
3
3
|
require 'depengine/version'
|
4
4
|
|
5
5
|
Gem::Specification.new do |s|
|
6
|
-
s.name =
|
6
|
+
s.name = 'depengine'
|
7
7
|
s.version = Depengine::VERSION
|
8
8
|
s.platform = Gem::Platform::RUBY
|
9
|
-
s.authors = [
|
10
|
-
s.email = [
|
11
|
-
s.homepage =
|
12
|
-
s.summary =
|
13
|
-
s.description =
|
9
|
+
s.authors = ['Team Automatisierung']
|
10
|
+
s.email = ['team-automatisierung@sinnerschrader.com']
|
11
|
+
s.homepage = 'http://www.sinnerschrader.com'
|
12
|
+
s.summary = 'Depengine generator'
|
13
|
+
s.description = 'Simply generates Depengine text.'
|
14
14
|
|
15
|
-
s.required_ruby_version =
|
15
|
+
s.required_ruby_version = '>= 1.9.3'
|
16
16
|
|
17
17
|
# See http://spin.atomicobject.com/2011/01/10/using-bundler-for-ruby-gem-development/
|
18
|
-
s.add_dependency
|
19
|
-
s.add_dependency
|
20
|
-
s.add_dependency
|
21
|
-
s.add_dependency
|
22
|
-
s.add_dependency
|
23
|
-
s.add_dependency
|
24
|
-
s.add_dependency
|
25
|
-
s.add_dependency
|
26
|
-
s.add_dependency
|
18
|
+
s.add_dependency 'json', '~> 1.4'
|
19
|
+
s.add_dependency 'net-ssh', '~> 2.8'
|
20
|
+
s.add_dependency 'net-sftp', '~> 2.1'
|
21
|
+
s.add_dependency 'net-scp', '~> 1.1'
|
22
|
+
s.add_dependency 'log4r', '~> 1.1'
|
23
|
+
s.add_dependency 'pony', '~> 1.8'
|
24
|
+
s.add_dependency 'ptools', '~> 1.2'
|
25
|
+
s.add_dependency 'radius', '~> 0.7'
|
26
|
+
s.add_dependency 'expect4r', '~> 0.0'
|
27
27
|
|
28
|
-
s.add_development_dependency
|
29
|
-
s.add_development_dependency
|
30
|
-
s.add_development_dependency
|
31
|
-
s.add_development_dependency
|
28
|
+
s.add_development_dependency 'rspec', '~> 2.14'
|
29
|
+
s.add_development_dependency 'fakefs', '~> 0.5'
|
30
|
+
s.add_development_dependency 'sinatra', '~> 1.4'
|
31
|
+
s.add_development_dependency 'builder', '~> 3.2.0'
|
32
|
+
s.add_development_dependency 'rubocop', '~> 0.24.1'
|
32
33
|
|
33
34
|
s.files = `git ls-files`.split("\n")
|
34
35
|
s.test_files = `git ls-files -- {test,spec,features}/*`.split("\n")
|
35
36
|
|
36
37
|
s.executables = %w(de depengine depengine.sh cdb_crypt)
|
37
|
-
s.require_paths = [
|
38
|
+
s.require_paths = ['lib']
|
38
39
|
end
|
@@ -6,12 +6,12 @@ module Asserter
|
|
6
6
|
attr_accessor :check_uri
|
7
7
|
attr_accessor :check_response_string
|
8
8
|
|
9
|
-
def assert_url_response_of(
|
10
|
-
Helper.validates_presence_of check_protocol,
|
11
|
-
Helper.validates_presence_of check_host,
|
12
|
-
Helper.validates_presence_of check_port,
|
13
|
-
Helper.validates_presence_of check_uri,
|
14
|
-
Helper.validates_presence_of check_response_string,
|
9
|
+
def assert_url_response_of(_options = {})
|
10
|
+
Helper.validates_presence_of check_protocol, 'check_protocol not set'
|
11
|
+
Helper.validates_presence_of check_host, 'check_host not set'
|
12
|
+
Helper.validates_presence_of check_port, 'check_port not set'
|
13
|
+
Helper.validates_presence_of check_uri, 'check_uri not set'
|
14
|
+
Helper.validates_presence_of check_response_string, 'check_response_string not set'
|
15
15
|
|
16
16
|
check_url = "#{check_protocol}://#{check_host}:#{check_port}#{check_uri}"
|
17
17
|
$log.writer.info "Checking URL = #{check_url} for \"#{check_response_string}\""
|
@@ -24,17 +24,16 @@ module Asserter
|
|
24
24
|
$log.writer.debug "ResponseCode: #{response.code}"
|
25
25
|
$log.writer.debug "ResponseMessage: #{response.message}"
|
26
26
|
$log.writer.debug "ResponseBody: #{response.body}"
|
27
|
-
|
27
|
+
unless response.code == '200'
|
28
28
|
$log.writer.error "Got response code: #{response.code}"
|
29
29
|
exit 1
|
30
30
|
end
|
31
|
-
|
31
|
+
unless response.body =~ Regexp.new(check_response_string)
|
32
32
|
$log.writer.error "Expected: #{check_response_string}"
|
33
33
|
$log.writer.error "Got: #{response.body}"
|
34
34
|
exit 1
|
35
35
|
end
|
36
36
|
end
|
37
|
-
|
38
37
|
end
|
39
38
|
end
|
40
39
|
end
|
data/lib/depengine/cli.rb
CHANGED
@@ -1,21 +1,19 @@
|
|
1
1
|
module Depengine
|
2
2
|
module CLI
|
3
3
|
class << self
|
4
|
-
|
5
|
-
def run(args, input = $stdin, output = $stdout, error = $stderr) #:nodoc:
|
6
|
-
|
4
|
+
def run(args, _input = $stdin, _output = $stdout, error = $stderr) #:nodoc:
|
7
5
|
@deploy_home = '.'
|
8
6
|
@recipe_name = 'recipe/deploy.rb'
|
9
7
|
|
10
|
-
args_size=args.size
|
8
|
+
args_size = args.size
|
11
9
|
|
12
10
|
args.options do |o|
|
13
|
-
o.banner = "Usage: #{File.basename($
|
14
|
-
o.separator
|
11
|
+
o.banner = "Usage: #{File.basename($PROGRAM_NAME)} [options]"
|
12
|
+
o.separator ''
|
15
13
|
o.on('-n', '--new [some_path]', 'create a new empty recipe directory structure') do |path|
|
16
14
|
require_relative('helper/cli_helper')
|
17
15
|
extend CLIHelper
|
18
|
-
setup_new_recipe(path
|
16
|
+
setup_new_recipe(path || '.')
|
19
17
|
end
|
20
18
|
o.on('-h', '--deployhome [DIRNAME]', 'Home of deployments.') do |dname|
|
21
19
|
set :deploy_home, dname
|
@@ -30,7 +28,7 @@ module Depengine
|
|
30
28
|
set :env, ename
|
31
29
|
end
|
32
30
|
o.on('-t', '--maven_test_switch [SWITCH]', 'Disable mvn tests.') do |tname|
|
33
|
-
|
31
|
+
set :maven_test_switch, tname
|
34
32
|
end
|
35
33
|
o.on('-v', '--version [VERSION]', 'Version.') do |vname|
|
36
34
|
set :version, vname
|
@@ -38,18 +36,18 @@ module Depengine
|
|
38
36
|
o.parse!
|
39
37
|
end
|
40
38
|
unless args_size > 2
|
41
|
-
|
42
|
-
|
43
|
-
|
39
|
+
error << args.options
|
40
|
+
return 127
|
41
|
+
end
|
44
42
|
|
45
|
-
recipe_filename
|
43
|
+
recipe_filename = File.join(($recipe_config[:recipe_base_dir] || $recipe_config[:deploy_home]), @recipe_name)
|
46
44
|
puts "Evaluating recipe #{recipe_filename}"
|
47
45
|
evaluate_recipe!(File.open(recipe_filename).read)
|
48
|
-
|
46
|
+
0
|
49
47
|
end
|
50
48
|
|
51
49
|
def evaluate_recipe!(recipe)
|
52
|
-
eval(recipe)
|
50
|
+
eval(recipe) # rubocop:disable Lint/Eval
|
53
51
|
end
|
54
52
|
end
|
55
53
|
end
|
data/lib/depengine/dsl/cdb.rb
CHANGED
@@ -1,20 +1,19 @@
|
|
1
1
|
module Deployment
|
2
2
|
module Methods
|
3
3
|
module CDB
|
4
|
-
|
5
|
-
def get_all_config_parameters
|
4
|
+
def get_all_config_parameters # rubocop:disable Style/AccessorMethodName
|
6
5
|
# merge cdb data
|
7
6
|
$recipe_config.merge @cdb
|
8
7
|
end
|
9
8
|
|
10
9
|
def get_cdb_parameters(version)
|
11
|
-
Helper.validates_presence_of version,
|
10
|
+
Helper.validates_presence_of version, 'version parameter is missing'
|
12
11
|
Helper.validates_presence_of $recipe_config['cdb_host'], \
|
13
|
-
|
12
|
+
'cdb_host parameter is missing'
|
14
13
|
Helper.validates_presence_of $recipe_config['cdb_context'], \
|
15
|
-
|
14
|
+
'cdb_context parameter is missing'
|
16
15
|
Helper.validates_presence_of $recipe_config[:module_name], \
|
17
|
-
|
16
|
+
'module_name parameter is missing'
|
18
17
|
|
19
18
|
cdb = Provider::CDB.new
|
20
19
|
cdb.protocol = 'http'
|
@@ -22,17 +21,17 @@ module Deployment
|
|
22
21
|
cdb.context = $recipe_config['cdb_context']
|
23
22
|
cdb.env = $recipe_config[:env]
|
24
23
|
|
25
|
-
cdb.get_parameters(File.join(
|
26
|
-
|
24
|
+
cdb.get_parameters(File.join($recipe_config[:env], \
|
25
|
+
$recipe_config[:module_name]), version)
|
27
26
|
end
|
28
27
|
|
29
28
|
def set_cdb_parameter(key, value)
|
30
29
|
Helper.validates_presence_of $recipe_config['cdb_host'], \
|
31
|
-
|
30
|
+
'cdb_host parameter is missing'
|
32
31
|
Helper.validates_presence_of $recipe_config['cdb_context'], \
|
33
|
-
|
32
|
+
'cdb_context parameter is missing'
|
34
33
|
Helper.validates_presence_of $recipe_config[:module_name], \
|
35
|
-
|
34
|
+
'module_name parameter is missing'
|
36
35
|
|
37
36
|
cdb = Provider::CDB.new
|
38
37
|
cdb.protocol = 'http'
|
@@ -40,15 +39,15 @@ module Deployment
|
|
40
39
|
cdb.context = $recipe_config['cdb_context']
|
41
40
|
cdb.env = $recipe_config[:env]
|
42
41
|
|
43
|
-
cdb.set_parameter(File.join(
|
44
|
-
|
42
|
+
cdb.set_parameter(File.join($recipe_config[:env], \
|
43
|
+
$recipe_config[:module_name]), key, value)
|
45
44
|
end
|
46
45
|
|
47
46
|
def set_cdb_parameter_4_app(module_name, app_name, key, value)
|
48
47
|
Helper.validates_presence_of $recipe_config['cdb_host'], \
|
49
|
-
|
48
|
+
'cdb_host parameter is missing'
|
50
49
|
Helper.validates_presence_of $recipe_config['cdb_context'], \
|
51
|
-
|
50
|
+
'cdb_context parameter is missing'
|
52
51
|
|
53
52
|
cdb = Provider::CDB.new
|
54
53
|
cdb.protocol = 'http'
|
@@ -56,8 +55,8 @@ module Deployment
|
|
56
55
|
cdb.context = $recipe_config['cdb_context']
|
57
56
|
cdb.env = $recipe_config['ENVIRONMENT']
|
58
57
|
|
59
|
-
cdb.set_parameter(File.join(
|
58
|
+
cdb.set_parameter(File.join(module_name, app_name), key, value)
|
60
59
|
end
|
61
60
|
end
|
62
61
|
end
|
63
|
-
end
|
62
|
+
end
|
@@ -11,50 +11,47 @@ module Deployment
|
|
11
11
|
def self.deliver(&block)
|
12
12
|
worker = Worker.new
|
13
13
|
worker.instance_eval(&block)
|
14
|
-
|
14
|
+
worker
|
15
15
|
end
|
16
16
|
|
17
17
|
class Worker
|
18
|
-
|
19
18
|
attr_accessor :cdb
|
20
19
|
|
21
20
|
def initialize
|
22
21
|
# initialize logging
|
23
|
-
|
22
|
+
unless $recipe_config[:log_level].nil?
|
24
23
|
case $recipe_config[:log_level]
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
|
34
|
-
|
24
|
+
when 'DEBUG'
|
25
|
+
$log.level('stdout_logger', Log4r::DEBUG)
|
26
|
+
when 'INFO'
|
27
|
+
$log.level('stdout_logger', Log4r::INFO)
|
28
|
+
when 'WARN'
|
29
|
+
$log.level('stdout_logger', Log4r::WARN)
|
30
|
+
when 'ERROR'
|
31
|
+
$log.level('stdout_logger', Log4r::ERROR)
|
32
|
+
when 'FATAL'
|
33
|
+
$log.level('stdout_logger', Log4r::FATAL)
|
35
34
|
end
|
36
35
|
end
|
37
|
-
if $recipe_config[:log_trace]
|
38
|
-
$log.enable_trace
|
39
|
-
end
|
36
|
+
$log.enable_trace if $recipe_config[:log_trace]
|
40
37
|
|
41
38
|
load_modules!
|
42
39
|
|
43
40
|
# generate hash from environemnt variables and merge
|
44
|
-
$recipe_config.merge! Helper.get_environemnt_variables($recipe_config['env_exceptions'] ||
|
41
|
+
$recipe_config.merge! Helper.get_environemnt_variables($recipe_config['env_exceptions'] || 'LS_COLORS TERMCAP')
|
45
42
|
|
46
43
|
@version = Helper.parse_version($recipe_config[:version])
|
47
44
|
|
48
45
|
# validate needed environment variables
|
49
|
-
Helper.validates_not_empty $recipe_config[:env],
|
50
|
-
Helper.validates_not_empty $recipe_config[:version],
|
51
|
-
Helper.validates_not_empty $recipe_config[:deploy_home],
|
46
|
+
Helper.validates_not_empty $recipe_config[:env], 'env is not set'
|
47
|
+
Helper.validates_not_empty $recipe_config[:version], 'version is not set'
|
48
|
+
Helper.validates_not_empty $recipe_config[:deploy_home], 'deploy_home is not set'
|
52
49
|
|
53
50
|
if $recipe_config[:skip_cdb_setup]
|
54
51
|
@cdb = {}
|
55
52
|
else
|
56
|
-
$recipe_config['cdb_host'] ||=
|
57
|
-
$recipe_config['cdb_context'] ||=
|
53
|
+
$recipe_config['cdb_host'] ||= 'filesystem'
|
54
|
+
$recipe_config['cdb_context'] ||= ''
|
58
55
|
@cdb = get_cdb_parameters(@version['cdb'])
|
59
56
|
end
|
60
57
|
|
@@ -62,27 +59,25 @@ module Deployment
|
|
62
59
|
|
63
60
|
# the logfile needs a correct WORKSPACE and the initial dirs
|
64
61
|
# so we have to set it here
|
65
|
-
|
62
|
+
return unless $recipe_config[:log_file]
|
63
|
+
level = Log4r::INFO
|
64
|
+
$log.writer.info "Logfile level set to #{$recipe_config[:log_file_level]}"
|
65
|
+
case $recipe_config[:log_file_level]
|
66
|
+
when 'DEBUG'
|
67
|
+
level = Log4r::DEBUG
|
68
|
+
when 'INFO'
|
66
69
|
level = Log4r::INFO
|
67
|
-
|
68
|
-
|
69
|
-
|
70
|
-
|
71
|
-
|
72
|
-
|
73
|
-
when "WARN"
|
74
|
-
level = Log4r::WARN
|
75
|
-
when "ERROR"
|
76
|
-
level = Log4r::ERROR
|
77
|
-
when "FATAL"
|
78
|
-
level = Log4r::FATAL
|
79
|
-
end
|
80
|
-
$log.add_outputter(Log4r::FileOutputter.new('log_file', \
|
81
|
-
:filename => File.join($recipe_config[:deploy_home], 'log', \
|
82
|
-
$recipe_config[:log_file])), \
|
83
|
-
level)
|
70
|
+
when 'WARN'
|
71
|
+
level = Log4r::WARN
|
72
|
+
when 'ERROR'
|
73
|
+
level = Log4r::ERROR
|
74
|
+
when 'FATAL'
|
75
|
+
level = Log4r::FATAL
|
84
76
|
end
|
85
|
-
|
77
|
+
$log.add_outputter(Log4r::FileOutputter.new('log_file', \
|
78
|
+
filename: File.join($recipe_config[:deploy_home], 'log', \
|
79
|
+
$recipe_config[:log_file])), \
|
80
|
+
level)
|
86
81
|
end
|
87
82
|
|
88
83
|
def load_modules!
|
@@ -110,28 +105,25 @@ module Deployment
|
|
110
105
|
|
111
106
|
def setup_workspace!
|
112
107
|
if $recipe_config[:cleanup_workspace_before]
|
113
|
-
|
108
|
+
$log.writer.info 'Remove all files from Workspace'
|
114
109
|
Helper.cleanup_workspace!($recipe_config[:deploy_home], $recipe_config[:cleanup_workspace_before])
|
115
110
|
end
|
116
111
|
|
117
112
|
Helper.init_workspace($recipe_config[:deploy_home])
|
118
113
|
|
119
|
-
|
120
|
-
|
121
|
-
|
122
|
-
|
123
|
-
end
|
114
|
+
return unless $recipe_config[:copy_to_workspace]
|
115
|
+
$recipe_config[:copy_to_workspace] = ['config'] unless $recipe_config[:copy_to_workspace].respond_to?(:each)
|
116
|
+
$recipe_config[:copy_to_workspace].each do |dir|
|
117
|
+
copy_to_workspace!(dir)
|
124
118
|
end
|
125
119
|
end
|
126
120
|
|
127
121
|
def copy_to_workspace!(dir)
|
128
|
-
Processor
|
122
|
+
Processor.copy(File.join($recipe_config[:recipe_base_dir], dir), $recipe_config[:deploy_home])
|
129
123
|
end
|
130
124
|
|
131
125
|
# access configdata like this...
|
132
126
|
# @hudson['USER']
|
133
127
|
# $recipe_config[:application_name]
|
134
|
-
|
135
128
|
end
|
136
129
|
end
|
137
|
-
|
data/lib/depengine/dsl/dweb.rb
CHANGED
@@ -1,11 +1,10 @@
|
|
1
1
|
module Deployment
|
2
2
|
module Methods
|
3
3
|
module DWEB
|
4
|
-
|
5
|
-
|
6
|
-
Helper.validates_presence_of @cdb['
|
7
|
-
Helper.validates_presence_of @cdb['
|
8
|
-
Helper.validates_presence_of @cdb['siteid'], "Siteid not set"
|
4
|
+
def send_dweb_command(command, options = {})
|
5
|
+
Helper.validates_presence_of @cdb['staging_host'], 'Staging Host not set'
|
6
|
+
Helper.validates_presence_of @cdb['ssh_key_file_command'], 'SSH keyfile not set'
|
7
|
+
Helper.validates_presence_of @cdb['siteid'], 'Siteid not set'
|
9
8
|
|
10
9
|
publisher = ::Publisher::Dweb.new
|
11
10
|
publisher.staging_host = @cdb['staging_host']
|
@@ -14,10 +13,10 @@ module Deployment
|
|
14
13
|
publisher.send_command(command, options)
|
15
14
|
end
|
16
15
|
|
17
|
-
def dweb_upload(source, target, options={})
|
18
|
-
Helper.validates_presence_of @cdb['staging_host'],
|
19
|
-
Helper.validates_presence_of @cdb['ssh_key_file'],
|
20
|
-
Helper.validates_presence_of @cdb['siteid'],
|
16
|
+
def dweb_upload(source, target, options = {})
|
17
|
+
Helper.validates_presence_of @cdb['staging_host'], 'Staging Host not set'
|
18
|
+
Helper.validates_presence_of @cdb['ssh_key_file'], 'SSH keyfile not set'
|
19
|
+
Helper.validates_presence_of @cdb['siteid'], 'Siteid not set'
|
21
20
|
Helper.validates_presence_of source
|
22
21
|
Helper.validates_presence_of target
|
23
22
|
|
@@ -33,7 +32,7 @@ module Deployment
|
|
33
32
|
File.join('/vhosts/', vhost, target), options)
|
34
33
|
end
|
35
34
|
|
36
|
-
def dweb_link(source, symlink, options={})
|
35
|
+
def dweb_link(source, symlink, options = {})
|
37
36
|
publisher = ::Publisher::Dweb.new
|
38
37
|
publisher.staging_host = @cdb['staging_host']
|
39
38
|
publisher.ssh_key_file = @cdb['ssh_key_file']
|
@@ -43,4 +42,4 @@ module Deployment
|
|
43
42
|
end
|
44
43
|
end
|
45
44
|
end
|
46
|
-
end
|
45
|
+
end
|