avm-eac_webapp_base0 0.18.4 → 0.20.0
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/lib/avm/eac_webapp_base0/file_formats/css.rb +1 -1
- data/lib/avm/eac_webapp_base0/file_formats/html.rb +1 -1
- data/lib/avm/eac_webapp_base0/file_formats/javascript.rb +1 -1
- data/lib/avm/eac_webapp_base0/file_formats/xml.rb +1 -1
- data/lib/avm/eac_webapp_base0/instances/base/deploy_info.rb +30 -0
- data/lib/avm/eac_webapp_base0/instances/deploy/build.rb +1 -1
- data/lib/avm/eac_webapp_base0/instances/deploy/info.rb +47 -0
- data/lib/avm/eac_webapp_base0/instances/deploy/scm.rb +16 -0
- data/lib/avm/eac_webapp_base0/instances/deploy.rb +4 -1
- data/lib/avm/eac_webapp_base0/instances/deploy_info.rb +37 -0
- data/lib/avm/eac_webapp_base0/instances/runners/deploy.rb +15 -1
- data/lib/avm/eac_webapp_base0/instances/runners/deploy_info.rb +28 -0
- data/lib/avm/eac_webapp_base0/version.rb +1 -1
- metadata +20 -23
- data/lib/avm/eac_webapp_base0/instances/deploy/version.rb +0 -26
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 53ac5790fcfa2445bf36ae5fe13ca71a821e16fb51973b3213f2e3b745e1d7ce
|
4
|
+
data.tar.gz: 61562bdd43b027d51b7a1d9312b443996109b2528ff8d53e75d5df4ae509e197
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 88322f8afe6c7a37ffe644b5144bdc7b62abd8832b060ab22df5623e6cbd611f0b4d8e159855221ab06c1e37334a901c98eda615df24b70f0b1cb77443dd179e
|
7
|
+
data.tar.gz: 4acbbe6ef000d0892662ec16cf96321b46f768bc44751373fd5269034a58ccdfbd4bc4266885a8a5b5ec5cd4bb470732b54e02e201834c48cc302b14afe115f3
|
@@ -0,0 +1,30 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require 'avm/eac_webapp_base0/instances/deploy_info'
|
4
|
+
require 'avm/instances/base'
|
5
|
+
|
6
|
+
module Avm
|
7
|
+
module EacWebappBase0
|
8
|
+
module Instances
|
9
|
+
class Base < ::Avm::Instances::Base
|
10
|
+
module DeployInfo
|
11
|
+
common_concern
|
12
|
+
|
13
|
+
DEPLOY_INFO_SUBPATH = '.deploy.yaml'
|
14
|
+
|
15
|
+
# @return [Avm::EacWebappBase0::Instances::DeployInfo]
|
16
|
+
def deploy_info
|
17
|
+
::Avm::EacWebappBase0::Instances::DeployInfo.from_string(
|
18
|
+
host_env.command('cat', deploy_info_path).execute!
|
19
|
+
)
|
20
|
+
end
|
21
|
+
|
22
|
+
# @return [Pathname]
|
23
|
+
def deploy_info_path
|
24
|
+
install_path.to_pathname.join(DEPLOY_INFO_SUBPATH)
|
25
|
+
end
|
26
|
+
end
|
27
|
+
end
|
28
|
+
end
|
29
|
+
end
|
30
|
+
end
|
@@ -18,7 +18,7 @@ module Avm
|
|
18
18
|
::Avm::Files::Appender
|
19
19
|
.new
|
20
20
|
.variables_source_set(variables_source)
|
21
|
-
.append_templatized_directory(template
|
21
|
+
.append_templatized_directory(template)
|
22
22
|
.append_templatized_directories(appended_directories)
|
23
23
|
.append_file_content(version_target_path, version)
|
24
24
|
.write_appended_on(build_dir)
|
@@ -0,0 +1,47 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require 'avm/eac_webapp_base0/instances/deploy_info'
|
4
|
+
require 'avm/eac_webapp_base0/instances/base/deploy_info'
|
5
|
+
|
6
|
+
module Avm
|
7
|
+
module EacWebappBase0
|
8
|
+
module Instances
|
9
|
+
class Deploy
|
10
|
+
module Info
|
11
|
+
# @return [Hash]
|
12
|
+
def deploy_info
|
13
|
+
::Avm::EacWebappBase0::Instances::DeployInfo.from_hash(
|
14
|
+
{
|
15
|
+
instance_id: instance.id,
|
16
|
+
time: ::Time.now,
|
17
|
+
commit_id: commit_reference,
|
18
|
+
commit_refs: version_git_refs,
|
19
|
+
version: version_number
|
20
|
+
}
|
21
|
+
)
|
22
|
+
end
|
23
|
+
|
24
|
+
# @return [String]
|
25
|
+
def version
|
26
|
+
deploy_info.to_yaml
|
27
|
+
end
|
28
|
+
|
29
|
+
def version_git_refs
|
30
|
+
git_remote_hashs.select { |_name, sha1| sha1 == commit_reference }.keys
|
31
|
+
.map { |ref| ref.gsub(%r{\Arefs/}, '') }.reject { |ref| ref == 'HEAD' }
|
32
|
+
end
|
33
|
+
|
34
|
+
# @return [String, nil]
|
35
|
+
def version_number
|
36
|
+
instance.application.local_source.version.if_present(&:to_s)
|
37
|
+
end
|
38
|
+
|
39
|
+
# @return [String]
|
40
|
+
def version_target_path
|
41
|
+
::Avm::EacWebappBase0::Instances::Base::DeployInfo::DEPLOY_INFO_SUBPATH
|
42
|
+
end
|
43
|
+
end
|
44
|
+
end
|
45
|
+
end
|
46
|
+
end
|
47
|
+
end
|
@@ -6,6 +6,8 @@ module Avm
|
|
6
6
|
class Deploy
|
7
7
|
module Scm
|
8
8
|
DEFAULT_REMOTE_NAME = 'origin'
|
9
|
+
DEFAULT_REMOTE_READ = true
|
10
|
+
DEFAULT_REMOTE_WRITE = true
|
9
11
|
|
10
12
|
def commit_reference_uncached
|
11
13
|
git_fetch
|
@@ -16,6 +18,8 @@ module Avm
|
|
16
18
|
end
|
17
19
|
|
18
20
|
def git_fetch_uncached
|
21
|
+
return unless remote_read?
|
22
|
+
|
19
23
|
infom "Fetching remote \"#{git_remote_name}\" from \"#{git_repository_path}\"..."
|
20
24
|
git.remote(git_remote_name).fetch
|
21
25
|
end
|
@@ -33,6 +37,8 @@ module Avm
|
|
33
37
|
end
|
34
38
|
|
35
39
|
def git_remote_hashs_uncached
|
40
|
+
return {} unless remote_read?
|
41
|
+
|
36
42
|
git.remote(git_remote_name).ls.hashes
|
37
43
|
end
|
38
44
|
|
@@ -61,6 +67,16 @@ module Avm
|
|
61
67
|
remote_branch('master')
|
62
68
|
end
|
63
69
|
|
70
|
+
# @return [Boolean]
|
71
|
+
def remote_read?
|
72
|
+
options.if_key(OPTION_REMOTE_READ, DEFAULT_REMOTE_READ).to_bool
|
73
|
+
end
|
74
|
+
|
75
|
+
# @return [Boolean]
|
76
|
+
def remote_write?
|
77
|
+
options.if_key(OPTION_REMOTE_WRITE, DEFAULT_REMOTE_WRITE).to_bool
|
78
|
+
end
|
79
|
+
|
64
80
|
# @return [Avm::Scms::Base]
|
65
81
|
def scm
|
66
82
|
instance.application.local_source.scm
|
@@ -20,7 +20,8 @@ module Avm
|
|
20
20
|
|
21
21
|
include ::Avm::Entries::Jobs::Base
|
22
22
|
|
23
|
-
lists.add_symbol :option, :appended_directories, :no_request_test, :reference
|
23
|
+
lists.add_symbol :option, :appended_directories, :no_request_test, :reference,
|
24
|
+
:remote_read, :remote_write
|
24
25
|
|
25
26
|
def option_list
|
26
27
|
::Avm::EacWebappBase0::Instances::Deploy.lists.option
|
@@ -47,6 +48,8 @@ module Avm
|
|
47
48
|
end
|
48
49
|
|
49
50
|
def assert_instance_branch
|
51
|
+
return unless remote_write?
|
52
|
+
|
50
53
|
infom 'Setting instance branch...'
|
51
54
|
git.command('push', git_remote_name, "#{commit_reference}:refs/heads/#{instance.id}",
|
52
55
|
'-f').execute!
|
@@ -0,0 +1,37 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require 'eac_ruby_utils/core_ext'
|
4
|
+
|
5
|
+
module Avm
|
6
|
+
module EacWebappBase0
|
7
|
+
module Instances
|
8
|
+
class DeployInfo
|
9
|
+
class << self
|
10
|
+
# @param hash [Hash]
|
11
|
+
# @return [Avm::EacWebappBase0::Instances::DeployInfo]
|
12
|
+
def from_hash(hash)
|
13
|
+
new(hash)
|
14
|
+
end
|
15
|
+
|
16
|
+
# @return string [String]
|
17
|
+
# @return [Avm::EacWebappBase0::Instances::DeployInfo]
|
18
|
+
def from_string(string)
|
19
|
+
from_hash(::EacRubyUtils::Yaml.load(string))
|
20
|
+
end
|
21
|
+
end
|
22
|
+
|
23
|
+
common_constructor :data do
|
24
|
+
self.data = data.with_indifferent_access
|
25
|
+
end
|
26
|
+
|
27
|
+
# @return [Hash]
|
28
|
+
delegate :to_h, to: :data
|
29
|
+
|
30
|
+
# @return [String]
|
31
|
+
def to_yaml
|
32
|
+
::EacRubyUtils::Yaml.dump(to_h)
|
33
|
+
end
|
34
|
+
end
|
35
|
+
end
|
36
|
+
end
|
37
|
+
end
|
@@ -14,6 +14,9 @@ module Avm
|
|
14
14
|
arg_opt '-r', '--reference', 'Git reference to deploy.'
|
15
15
|
arg_opt '-a', '--append-dirs', 'Append directories to deploy (List separated by ":").'
|
16
16
|
bool_opt '-T', '--no-request-test', 'Do not test web interface after deploy.'
|
17
|
+
bool_opt '--no-remote', 'Shortcut to "--no-remote-read --no-remote-write"'
|
18
|
+
bool_opt '--no-remote-read', 'Do not attempt to read on remote repository.'
|
19
|
+
bool_opt '--no-remote-write', 'Do not attempt to write on remote repository.'
|
17
20
|
end
|
18
21
|
|
19
22
|
def deploy_class
|
@@ -34,7 +37,18 @@ module Avm
|
|
34
37
|
def deploy_options
|
35
38
|
{ reference: parsed.reference,
|
36
39
|
appended_directories: ::Avm::PathString.paths(parsed.append_dirs),
|
37
|
-
no_request_test: parsed.no_request_test
|
40
|
+
no_request_test: parsed.no_request_test?, remote_read: remote_read?,
|
41
|
+
remote_write: remote_write? }
|
42
|
+
end
|
43
|
+
|
44
|
+
# @return [Boolean]
|
45
|
+
def remote_read?
|
46
|
+
!(parsed.no_remote_read? || parsed.no_remote?)
|
47
|
+
end
|
48
|
+
|
49
|
+
# @return [Boolean]
|
50
|
+
def remote_write?
|
51
|
+
!(parsed.no_remote_write? || parsed.no_remote?)
|
38
52
|
end
|
39
53
|
end
|
40
54
|
end
|
@@ -0,0 +1,28 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require 'avm/instances/runner'
|
4
|
+
require 'avm/path_string'
|
5
|
+
require 'eac_cli/core_ext'
|
6
|
+
|
7
|
+
module Avm
|
8
|
+
module EacWebappBase0
|
9
|
+
module Instances
|
10
|
+
module Runners
|
11
|
+
class DeployInfo
|
12
|
+
runner_with :help, :output_item do
|
13
|
+
desc 'Fetch instance\'s last deploy information.'
|
14
|
+
end
|
15
|
+
|
16
|
+
def run
|
17
|
+
run_output
|
18
|
+
end
|
19
|
+
|
20
|
+
# @return [Hash]
|
21
|
+
def item_hash
|
22
|
+
instance.deploy_info.to_h
|
23
|
+
end
|
24
|
+
end
|
25
|
+
end
|
26
|
+
end
|
27
|
+
end
|
28
|
+
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: avm-eac_webapp_base0
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.20.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Put here the authors
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2024-
|
11
|
+
date: 2024-07-22 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: avm
|
@@ -16,40 +16,28 @@ dependencies:
|
|
16
16
|
requirements:
|
17
17
|
- - "~>"
|
18
18
|
- !ruby/object:Gem::Version
|
19
|
-
version: '0.
|
20
|
-
- - ">="
|
21
|
-
- !ruby/object:Gem::Version
|
22
|
-
version: 0.86.2
|
19
|
+
version: '0.93'
|
23
20
|
type: :runtime
|
24
21
|
prerelease: false
|
25
22
|
version_requirements: !ruby/object:Gem::Requirement
|
26
23
|
requirements:
|
27
24
|
- - "~>"
|
28
25
|
- !ruby/object:Gem::Version
|
29
|
-
version: '0.
|
30
|
-
- - ">="
|
31
|
-
- !ruby/object:Gem::Version
|
32
|
-
version: 0.86.2
|
26
|
+
version: '0.93'
|
33
27
|
- !ruby/object:Gem::Dependency
|
34
28
|
name: avm-eac_generic_base0
|
35
29
|
requirement: !ruby/object:Gem::Requirement
|
36
30
|
requirements:
|
37
31
|
- - "~>"
|
38
32
|
- !ruby/object:Gem::Version
|
39
|
-
version: '0.
|
40
|
-
- - ">="
|
41
|
-
- !ruby/object:Gem::Version
|
42
|
-
version: 0.12.2
|
33
|
+
version: '0.13'
|
43
34
|
type: :runtime
|
44
35
|
prerelease: false
|
45
36
|
version_requirements: !ruby/object:Gem::Requirement
|
46
37
|
requirements:
|
47
38
|
- - "~>"
|
48
39
|
- !ruby/object:Gem::Version
|
49
|
-
version: '0.
|
50
|
-
- - ">="
|
51
|
-
- !ruby/object:Gem::Version
|
52
|
-
version: 0.12.2
|
40
|
+
version: '0.13'
|
53
41
|
- !ruby/object:Gem::Dependency
|
54
42
|
name: avm-eac_postgresql_base0
|
55
43
|
requirement: !ruby/object:Gem::Requirement
|
@@ -77,6 +65,9 @@ dependencies:
|
|
77
65
|
- - "~>"
|
78
66
|
- !ruby/object:Gem::Version
|
79
67
|
version: '0.5'
|
68
|
+
- - ">="
|
69
|
+
- !ruby/object:Gem::Version
|
70
|
+
version: 0.5.1
|
80
71
|
type: :runtime
|
81
72
|
prerelease: false
|
82
73
|
version_requirements: !ruby/object:Gem::Requirement
|
@@ -84,34 +75,37 @@ dependencies:
|
|
84
75
|
- - "~>"
|
85
76
|
- !ruby/object:Gem::Version
|
86
77
|
version: '0.5'
|
78
|
+
- - ">="
|
79
|
+
- !ruby/object:Gem::Version
|
80
|
+
version: 0.5.1
|
87
81
|
- !ruby/object:Gem::Dependency
|
88
82
|
name: avm-files
|
89
83
|
requirement: !ruby/object:Gem::Requirement
|
90
84
|
requirements:
|
91
85
|
- - "~>"
|
92
86
|
- !ruby/object:Gem::Version
|
93
|
-
version: '0.
|
87
|
+
version: '0.8'
|
94
88
|
type: :runtime
|
95
89
|
prerelease: false
|
96
90
|
version_requirements: !ruby/object:Gem::Requirement
|
97
91
|
requirements:
|
98
92
|
- - "~>"
|
99
93
|
- !ruby/object:Gem::Version
|
100
|
-
version: '0.
|
94
|
+
version: '0.8'
|
101
95
|
- !ruby/object:Gem::Dependency
|
102
96
|
name: eac_ruby_utils
|
103
97
|
requirement: !ruby/object:Gem::Requirement
|
104
98
|
requirements:
|
105
99
|
- - "~>"
|
106
100
|
- !ruby/object:Gem::Version
|
107
|
-
version: '0.
|
101
|
+
version: '0.122'
|
108
102
|
type: :runtime
|
109
103
|
prerelease: false
|
110
104
|
version_requirements: !ruby/object:Gem::Requirement
|
111
105
|
requirements:
|
112
106
|
- - "~>"
|
113
107
|
- !ruby/object:Gem::Version
|
114
|
-
version: '0.
|
108
|
+
version: '0.122'
|
115
109
|
- !ruby/object:Gem::Dependency
|
116
110
|
name: htmlbeautifier
|
117
111
|
requirement: !ruby/object:Gem::Requirement
|
@@ -167,14 +161,16 @@ files:
|
|
167
161
|
- lib/avm/eac_webapp_base0/instances/apache_path.rb
|
168
162
|
- lib/avm/eac_webapp_base0/instances/base.rb
|
169
163
|
- lib/avm/eac_webapp_base0/instances/base/apache.rb
|
164
|
+
- lib/avm/eac_webapp_base0/instances/base/deploy_info.rb
|
170
165
|
- lib/avm/eac_webapp_base0/instances/base/install.rb
|
171
166
|
- lib/avm/eac_webapp_base0/instances/deploy.rb
|
172
167
|
- lib/avm/eac_webapp_base0/instances/deploy/appended_directories.rb
|
173
168
|
- lib/avm/eac_webapp_base0/instances/deploy/build.rb
|
169
|
+
- lib/avm/eac_webapp_base0/instances/deploy/info.rb
|
174
170
|
- lib/avm/eac_webapp_base0/instances/deploy/scm.rb
|
175
171
|
- lib/avm/eac_webapp_base0/instances/deploy/setup_files_unit.rb
|
176
|
-
- lib/avm/eac_webapp_base0/instances/deploy/version.rb
|
177
172
|
- lib/avm/eac_webapp_base0/instances/deploy/write_on_target.rb
|
173
|
+
- lib/avm/eac_webapp_base0/instances/deploy_info.rb
|
178
174
|
- lib/avm/eac_webapp_base0/instances/processes.rb
|
179
175
|
- lib/avm/eac_webapp_base0/instances/processes/web_server.rb
|
180
176
|
- lib/avm/eac_webapp_base0/instances/runners.rb
|
@@ -182,6 +178,7 @@ files:
|
|
182
178
|
- lib/avm/eac_webapp_base0/instances/runners/apache_path.rb
|
183
179
|
- lib/avm/eac_webapp_base0/instances/runners/data/load.rb
|
184
180
|
- lib/avm/eac_webapp_base0/instances/runners/deploy.rb
|
181
|
+
- lib/avm/eac_webapp_base0/instances/runners/deploy_info.rb
|
185
182
|
- lib/avm/eac_webapp_base0/sources.rb
|
186
183
|
- lib/avm/eac_webapp_base0/sources/base.rb
|
187
184
|
- lib/avm/eac_webapp_base0/version.rb
|
@@ -1,26 +0,0 @@
|
|
1
|
-
# frozen_string_literal: true
|
2
|
-
|
3
|
-
module Avm
|
4
|
-
module EacWebappBase0
|
5
|
-
module Instances
|
6
|
-
class Deploy
|
7
|
-
module Version
|
8
|
-
VERSION_TARGET_PATH = 'VERSION'
|
9
|
-
|
10
|
-
def version
|
11
|
-
([::Time.now, commit_reference] + version_git_refs).join('|')
|
12
|
-
end
|
13
|
-
|
14
|
-
def version_git_refs
|
15
|
-
git_remote_hashs.select { |_name, sha1| sha1 == commit_reference }.keys
|
16
|
-
.map { |ref| ref.gsub(%r{\Arefs/}, '') }.reject { |ref| ref == 'HEAD' }
|
17
|
-
end
|
18
|
-
|
19
|
-
def version_target_path
|
20
|
-
VERSION_TARGET_PATH
|
21
|
-
end
|
22
|
-
end
|
23
|
-
end
|
24
|
-
end
|
25
|
-
end
|
26
|
-
end
|