docman 0.0.76 → 0.0.77
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.
- checksums.yaml +4 -4
- data/config/config.yaml +31 -0
- data/lib/application.rb +1 -0
- data/lib/docman/cli.rb +1 -1
- data/lib/docman/commands/command.rb +9 -5
- data/lib/docman/commands/execute_script_cmd.rb +0 -1
- data/lib/docman/commands/yaml_execute_cmd.rb +46 -0
- data/lib/docman/config.rb +5 -0
- data/lib/docman/info.rb +3 -2
- data/lib/docman/version.rb +1 -1
- metadata +3 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 2e2afd9b63d84de74e86fac27722672576120501
|
4
|
+
data.tar.gz: bd1940da413dbe6f6ae113375e5ced359561e9c5
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 74a5cf325c5282c0974b95ca90967508c7034439f7bf8db27818f12140a8aa6093e85314fe8a7bb584cab0a7a8d207e91549babb80d040ff409c2e91cd6a0c5d
|
7
|
+
data.tar.gz: b37781c99b404e2fcac0988010d4f83ca4ec2bccc9a248233c3a086b1f974e345a1fdf0d3474cb78e768643126d363fa506696e50b5292e5b3985f092e44f484
|
data/config/config.yaml
CHANGED
@@ -7,10 +7,31 @@ deploy_targets:
|
|
7
7
|
handler: :dir_builder
|
8
8
|
root_chain:
|
9
9
|
handler: :git_direct_builder
|
10
|
+
hooks:
|
11
|
+
builder:
|
12
|
+
after_execute:
|
13
|
+
- type: :yaml_execute
|
14
|
+
source_type: file
|
15
|
+
order: -10
|
16
|
+
stage: build
|
10
17
|
drupal:
|
11
18
|
handler: :drupal_drush_builder
|
19
|
+
hooks:
|
20
|
+
builder:
|
21
|
+
after_execute:
|
22
|
+
- type: :yaml_execute
|
23
|
+
source_type: file
|
24
|
+
order: -10
|
25
|
+
stage: build
|
12
26
|
repo:
|
13
27
|
handler: :git_direct_builder
|
28
|
+
hooks:
|
29
|
+
builder:
|
30
|
+
after_execute:
|
31
|
+
- type: :yaml_execute
|
32
|
+
source_type: file
|
33
|
+
order: -10
|
34
|
+
stage: build
|
14
35
|
dir:
|
15
36
|
handler: :dir_builder
|
16
37
|
symlink:
|
@@ -35,6 +56,11 @@ deploy_targets:
|
|
35
56
|
hooks:
|
36
57
|
builder:
|
37
58
|
after_execute:
|
59
|
+
- type: :yaml_execute
|
60
|
+
source_type: file
|
61
|
+
order: -10
|
62
|
+
execution_dir: $PROJECT$
|
63
|
+
stage: build
|
38
64
|
- type: :git_commit
|
39
65
|
order: 100
|
40
66
|
execution_dir: $PROJECT$
|
@@ -54,6 +80,11 @@ deploy_targets:
|
|
54
80
|
- type: :git_pull
|
55
81
|
execution_dir: $PROJECT$
|
56
82
|
after_execute:
|
83
|
+
- type: :yaml_execute
|
84
|
+
source_type: file
|
85
|
+
order: -10
|
86
|
+
execution_dir: $PROJECT$
|
87
|
+
stage: build
|
57
88
|
- type: :git_commit
|
58
89
|
order: 100
|
59
90
|
execution_dir: $PROJECT$
|
data/lib/application.rb
CHANGED
@@ -28,6 +28,7 @@ require 'docman/commands/create_symlink_cmd'
|
|
28
28
|
require 'docman/commands/execute_script_cmd'
|
29
29
|
require 'docman/commands/clean_changed_cmd'
|
30
30
|
require 'docman/commands/git_commit_cmd'
|
31
|
+
require 'docman/commands/yaml_execute_cmd'
|
31
32
|
require 'docman/commands/git_pull_cmd'
|
32
33
|
require 'docman/commands/git_copy_repo_content_cmd'
|
33
34
|
require 'docman/taggers/tagger'
|
data/lib/docman/cli.rb
CHANGED
@@ -44,7 +44,7 @@ module Docman
|
|
44
44
|
def build(deploy_target, state)
|
45
45
|
get_to_root_dir
|
46
46
|
if options[:force]
|
47
|
-
FileUtils.
|
47
|
+
FileUtils.rm_rf('master') if File.directory? 'master'
|
48
48
|
end
|
49
49
|
Application.instance.build(deploy_target, state, options)
|
50
50
|
say('Complete!', :green)
|
@@ -67,11 +67,14 @@ module Docman
|
|
67
67
|
end
|
68
68
|
|
69
69
|
def add_action(name, hook, context = nil)
|
70
|
-
|
71
|
-
|
72
|
-
|
73
|
-
|
74
|
-
|
70
|
+
version = Docman::Application.instance.config.version
|
71
|
+
unless hook['version'].nil? || hook['version'] != version
|
72
|
+
hook['order'] = 0 unless hook['order']
|
73
|
+
if @hooks.has_key? name
|
74
|
+
@hooks[name] << hook
|
75
|
+
else
|
76
|
+
@hooks[name] = [hook]
|
77
|
+
end
|
75
78
|
end
|
76
79
|
end
|
77
80
|
|
@@ -137,6 +140,7 @@ module Docman
|
|
137
140
|
value.gsub!('$PROJECT$', @context['full_build_path']) unless @context['full_build_path'].nil?
|
138
141
|
value.gsub!('$INFO$', @context['full_path']) unless @context['full_path'].nil?
|
139
142
|
value.gsub!('$ENVIRONMENT$', @context.environment_name) unless @context.environment_name.nil?
|
143
|
+
value.gsub!('$DOCMAN_BIN$', Application::bin)
|
140
144
|
end
|
141
145
|
|
142
146
|
end
|
@@ -4,7 +4,6 @@ module Docman
|
|
4
4
|
|
5
5
|
register_command :script
|
6
6
|
|
7
|
-
|
8
7
|
def validate_command
|
9
8
|
raise Docman::CommandValidationError.new("Please provide 'execution_dir' param") if self['execution_dir'].nil?
|
10
9
|
raise Docman::CommandValidationError.new("Please provide 'location' param") if self['location'].nil?
|
@@ -0,0 +1,46 @@
|
|
1
|
+
module Docman
|
2
|
+
class YamlExecuteCmd < Docman::Command
|
3
|
+
|
4
|
+
register_command :yaml_execute
|
5
|
+
|
6
|
+
def validate_command
|
7
|
+
raise "Please provide 'context'" if @context.nil?
|
8
|
+
raise "Context should be of type 'Info'" unless @context.is_a? Docman::Info
|
9
|
+
raise "Both file & inline could not be se for this command" if self['yaml_file_name'] && self['inline']
|
10
|
+
end
|
11
|
+
|
12
|
+
before_execute do
|
13
|
+
self['source_type'] = 'inline' if self['source_type'].nil?
|
14
|
+
end
|
15
|
+
|
16
|
+
def execute
|
17
|
+
with_logging('yaml_execute') do
|
18
|
+
if self['environments'].nil? || self['environments'] == 'all' || self['environments'].include?(@context.environment_name)
|
19
|
+
commands = nil
|
20
|
+
if self['source_type'] == 'file'
|
21
|
+
yaml_file_name = self['yaml_file_name'].nil? ? '.build.yml' : self['yaml_file_name']
|
22
|
+
build_file = File.join(@context['full_build_path'], yaml_file_name)
|
23
|
+
if File.file? build_file
|
24
|
+
build_file_yaml = YAML::load_file(build_file)
|
25
|
+
commands = build_file_yaml[self['stage']]
|
26
|
+
source = yaml_file_name
|
27
|
+
end
|
28
|
+
end
|
29
|
+
if self['source_type'] == 'inline'
|
30
|
+
commands = self['commands']
|
31
|
+
source = 'inline'
|
32
|
+
end
|
33
|
+
unless commands.nil?
|
34
|
+
commands.each do |cmd|
|
35
|
+
logger.info "Execute from #{source}: #{cmd}"
|
36
|
+
logger.info `#{cmd}`
|
37
|
+
if $?.exitstatus > 0
|
38
|
+
raise "Command #{cmd} was failed"
|
39
|
+
end
|
40
|
+
end
|
41
|
+
end
|
42
|
+
end
|
43
|
+
end
|
44
|
+
end
|
45
|
+
end
|
46
|
+
end
|
data/lib/docman/config.rb
CHANGED
@@ -23,6 +23,7 @@ module Docman
|
|
23
23
|
def merge_config_from_file(file)
|
24
24
|
config = YAML::load_file(file)
|
25
25
|
@config.deep_merge(config)
|
26
|
+
@config['version'] = config['version'].nil? ? 1 : config['version']
|
26
27
|
assign_to_self
|
27
28
|
end
|
28
29
|
|
@@ -30,5 +31,9 @@ module Docman
|
|
30
31
|
Digest::MD5.hexdigest(Marshal::dump(@unmutable_config))
|
31
32
|
end
|
32
33
|
|
34
|
+
def version
|
35
|
+
@config['version']
|
36
|
+
end
|
37
|
+
|
33
38
|
end
|
34
39
|
end
|
data/lib/docman/info.rb
CHANGED
@@ -61,8 +61,9 @@ module Docman
|
|
61
61
|
to_save['result'] = result
|
62
62
|
to_save['type'] = self['type']
|
63
63
|
to_save['build_type'] = self['build_type']
|
64
|
-
|
65
|
-
|
64
|
+
if environment_name() != 'local'
|
65
|
+
File.open(File.join(self['full_build_path'], 'info.yaml'), 'w') {|f| f.write to_save.to_yaml}
|
66
|
+
end
|
66
67
|
to_save
|
67
68
|
end
|
68
69
|
|
data/lib/docman/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: docman
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.77
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Alexander Tolstikov
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2017-
|
11
|
+
date: 2017-02-10 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|
@@ -188,6 +188,7 @@ files:
|
|
188
188
|
- lib/docman/commands/git_pull_cmd.rb
|
189
189
|
- lib/docman/commands/ssh_target_checker.rb
|
190
190
|
- lib/docman/commands/target_checker.rb
|
191
|
+
- lib/docman/commands/yaml_execute_cmd.rb
|
191
192
|
- lib/docman/config.rb
|
192
193
|
- lib/docman/context.rb
|
193
194
|
- lib/docman/deployers/common_deployer.rb
|