dapp 0.6.7 → 0.6.8
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/en/net_status.yml +2 -1
- data/lib/dapp/build/stage/artifact_default.rb +1 -1
- data/lib/dapp/builder/chef.rb +10 -8
- data/lib/dapp/builder/chef/error.rb +1 -1
- data/lib/dapp/project.rb +5 -3
- data/lib/dapp/project/shellout/base.rb +2 -2
- data/lib/dapp/project/shellout/system.rb +14 -4
- data/lib/dapp/version.rb +1 -1
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 47d4ca61c72282976ce1a025dbc00af3ce9ae5dd
|
4
|
+
data.tar.gz: 7ba0e4bb0f8aba250d4df9b9e16101883ca46ef2
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: a923babf8d0a05ee8e5772408e2cbf115c203df9305a2bff11ccba6e367d9d973d02fe29296dd9d1d799d0091ff96a60384d84ce6bbb497d29608d6bb22acda4
|
7
|
+
data.tar.gz: 2aed90c824516ad48148ef8b6e6af4b8c1b697a1f06c8a1102467eeda6452afc0b507c372459e06927d9794e7831d039c3c1a461a0df89e95841f8b1d5222e96
|
data/config/en/net_status.yml
CHANGED
@@ -3,12 +3,13 @@ en:
|
|
3
3
|
missing_translation: "Missing translation for code: '%{code}'!"
|
4
4
|
shellout:
|
5
5
|
shell_command_failed: ">>> START STREAM\n%{stream}\n>>> END STREAM"
|
6
|
+
system_shell_command_failed: ">>> START STREAM\n%{stream}\n>>> END STREAM%{backtrace}"
|
6
7
|
application:
|
7
8
|
application_not_built: "Application hasn't been built yet!"
|
8
9
|
application_not_run: "Application run failed!"
|
9
10
|
git_branch_without_name: "Application has specific revision that isn't associated with a branch name!"
|
10
11
|
ci_environment_required: 'CI environment required (Travis or GitLab CI)!'
|
11
|
-
|
12
|
+
chef_stage_checksum_not_calculated: "Chef stage '%{stage}' checksum is not calculated yet, run build first"
|
12
13
|
dappfile:
|
13
14
|
incorrect: "Dappfile with '%{error}':\n%{message}"
|
14
15
|
build:
|
@@ -40,7 +40,7 @@ module Dapp
|
|
40
40
|
cwd_ = File.expand_path(File.join('/', cwd_))
|
41
41
|
"#{application.project.find_path} #{File.join(from_, cwd_, path_)} #{excludes} -type f -exec " \
|
42
42
|
"#{application.project.bash_path} -ec '#{application.project.install_path} -D #{credentials} {} " \
|
43
|
-
"#{File.join(to, "$(
|
43
|
+
"#{File.join(to, "$(echo {} | " \
|
44
44
|
"#{application.project.sed_path} -e \"s/#{File.join(from_, cwd_).gsub('/', '\\/')}//g\")")}' \\;"
|
45
45
|
end
|
46
46
|
|
data/lib/dapp/builder/chef.rb
CHANGED
@@ -50,8 +50,10 @@ module Dapp
|
|
50
50
|
super
|
51
51
|
|
52
52
|
%i(before_install install before_setup setup chef_cookbooks).each do |stage|
|
53
|
-
|
54
|
-
|
53
|
+
unless stage_empty?(stage) or stage_cookbooks_checksum_path(stage).exist?
|
54
|
+
raise ::Dapp::Error::Application, code: :chef_stage_checksum_not_calculated,
|
55
|
+
data: { stage: stage }
|
56
|
+
end
|
55
57
|
end
|
56
58
|
end
|
57
59
|
|
@@ -198,7 +200,7 @@ module Dapp
|
|
198
200
|
unless application.project.cli_options[:dev] || chef_cookbooks_stage
|
199
201
|
commands.push(
|
200
202
|
['if [ ! -f Berksfile.lock ] ; then ',
|
201
|
-
"
|
203
|
+
"echo \"Berksfile.lock not found\" 1>&2 ; ",
|
202
204
|
'exit 1 ; ',
|
203
205
|
'fi'].join
|
204
206
|
)
|
@@ -216,7 +218,7 @@ module Dapp
|
|
216
218
|
commands.push(
|
217
219
|
"export LOCKDIFF=$(#{application.project.diff_path} -u1 Berksfile.lock #{berksfile_lock_path})",
|
218
220
|
['if [ "$LOCKDIFF" != "" ] ; then ',
|
219
|
-
"
|
221
|
+
"echo -e \"Bad Berksfile.lock\n$LOCKDIFF\" 1>&2 ; ",
|
220
222
|
'exit 1 ; ',
|
221
223
|
'fi'].join
|
222
224
|
)
|
@@ -225,8 +227,8 @@ module Dapp
|
|
225
227
|
|
226
228
|
vendor_commands = [
|
227
229
|
"#{application.project.mkdir_path} -p ~/.ssh",
|
228
|
-
"
|
229
|
-
"
|
230
|
+
"echo \"Host *\" >> ~/.ssh/config",
|
231
|
+
"echo \" StrictHostKeyChecking no\" >> ~/.ssh/config",
|
230
232
|
*berksfile.local_cookbooks
|
231
233
|
.values
|
232
234
|
.map { |cookbook| "#{application.project.rsync_path} --archive --relative #{cookbook[:path]} /tmp/local_cookbooks" },
|
@@ -236,10 +238,10 @@ module Dapp
|
|
236
238
|
*after_vendor_commands,
|
237
239
|
["#{application.project.find_path} /tmp/cookbooks -type d -exec #{application.project.bash_path} -ec '",
|
238
240
|
"#{application.project.install_path} -o #{Process.uid} -g #{Process.gid} --mode $(#{application.project.stat_path} -c %a {}) -d ",
|
239
|
-
"#{dest_path}/$(
|
241
|
+
"#{dest_path}/$(echo {} | #{application.project.sed_path} -e \"s/^\\/tmp\\/cookbooks//\")' \\;"].join,
|
240
242
|
["#{application.project.find_path} /tmp/cookbooks -type f -exec #{application.project.bash_path} -ec '",
|
241
243
|
"#{application.project.install_path} -o #{Process.uid} -g #{Process.gid} --mode $(#{application.project.stat_path} -c %a {}) {} ",
|
242
|
-
"#{dest_path}/$(
|
244
|
+
"#{dest_path}/$(echo {} | #{application.project.sed_path} -e \"s/\\/tmp\\/cookbooks//\")' \\;"].join,
|
243
245
|
"#{application.project.install_path} -o #{Process.uid} -g #{Process.gid} --mode 0644 <(#{application.project.date_path} +%s.%N) #{dest_path.join('.created_at')}"
|
244
246
|
]
|
245
247
|
|
data/lib/dapp/project.rb
CHANGED
@@ -50,9 +50,11 @@ module Dapp
|
|
50
50
|
|
51
51
|
def name
|
52
52
|
@name ||= begin
|
53
|
-
|
54
|
-
|
55
|
-
|
53
|
+
if File.exist? File.join(path, '.git')
|
54
|
+
system_shellout("#{git_path} -C #{path} config --get remote.origin.url").stdout.strip.split('/').last[/.*(?=.git)/] rescue File.basename(path)
|
55
|
+
else
|
56
|
+
File.basename(path)
|
57
|
+
end
|
56
58
|
end
|
57
59
|
end
|
58
60
|
|
@@ -36,7 +36,7 @@ module Dapp
|
|
36
36
|
end
|
37
37
|
|
38
38
|
def shellout_pack(command)
|
39
|
-
"eval $(
|
39
|
+
"eval $(echo #{Base64.strict_encode64(command)} | base64 --decode)"
|
40
40
|
end
|
41
41
|
|
42
42
|
class << self
|
@@ -65,7 +65,7 @@ module Dapp
|
|
65
65
|
|
66
66
|
yield(**kwargs)
|
67
67
|
rescue ::Mixlib::ShellOut::ShellCommandFailed => e
|
68
|
-
raise Error::Shellout, code: class_to_lowercase(e.class), data: { stream: stream.show }
|
68
|
+
raise Error::Shellout, code: class_to_lowercase(e.class), data: { stream: stream.show, backtrace: e.backtrace.join("\n") }
|
69
69
|
end
|
70
70
|
end
|
71
71
|
end
|
@@ -39,19 +39,29 @@ module Dapp
|
|
39
39
|
end
|
40
40
|
end
|
41
41
|
|
42
|
-
def system_shellout(command, **kwargs)
|
43
|
-
|
42
|
+
def system_shellout(command, raise_error: false, **kwargs)
|
43
|
+
if raise_error
|
44
|
+
shellout! _to_system_shellout_command(command), **kwargs
|
45
|
+
else
|
46
|
+
shellout _to_system_shellout_command(command), **kwargs
|
47
|
+
end
|
48
|
+
rescue Error::Shellout => err
|
49
|
+
$stderr.puts "\033[1m\033[31mWARNING: System shellout container failure, " +
|
50
|
+
"try to remove if error persists: " +
|
51
|
+
"docker rm -f #{system_shellout_container_name}\033[0m"
|
52
|
+
|
53
|
+
raise Error::Shellout.new(code: :system_shell_command_failed, **err.net_status)
|
44
54
|
end
|
45
55
|
|
46
56
|
def system_shellout!(command, **kwargs)
|
47
|
-
|
57
|
+
system_shellout(command, raise_error: true, **kwargs)
|
48
58
|
end
|
49
59
|
|
50
60
|
private
|
51
61
|
|
52
62
|
def _to_system_shellout_command(command)
|
53
63
|
cmd = shellout_pack ["cd #{Dir.pwd}", command].join(' && ')
|
54
|
-
"docker exec #{system_shellout_container} chroot /.system_shellout_root
|
64
|
+
"docker exec #{system_shellout_container} chroot /.system_shellout_root #{bash_path} -ec '#{[
|
55
65
|
*System.default_env_keys.map do |env_key|
|
56
66
|
env_key = env_key.to_s.upcase
|
57
67
|
"export #{env_key}=#{ENV[env_key]}"
|
data/lib/dapp/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: dapp
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.6.
|
4
|
+
version: 0.6.8
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Dmitry Stolyarov
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2016-10-
|
11
|
+
date: 2016-10-27 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: mixlib-shellout
|