eac_tools 0.111.0 → 0.111.1
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/Gemfile.lock +34 -49
- data/eac_tools.gemspec +41 -0
- data/exe/eac +6 -1
- data/lib/eac_tools/version.rb +1 -1
- metadata +7 -140
- data/sub/avm-eac_rails_base1/Gemfile +0 -8
- data/sub/avm-eac_rails_base1/avm-eac_rails_base1.gemspec +0 -22
- data/sub/avm-eac_rails_base1/lib/avm/eac_rails_base1/instances/apache_base.rb +0 -14
- data/sub/avm-eac_rails_base1/lib/avm/eac_rails_base1/instances/apache_host.rb +0 -15
- data/sub/avm-eac_rails_base1/lib/avm/eac_rails_base1/instances/apache_path.rb +0 -17
- data/sub/avm-eac_rails_base1/lib/avm/eac_rails_base1/instances/base/install.rb +0 -25
- data/sub/avm-eac_rails_base1/lib/avm/eac_rails_base1/instances/base.rb +0 -44
- data/sub/avm-eac_rails_base1/lib/avm/eac_rails_base1/instances/deploy.rb +0 -20
- data/sub/avm-eac_rails_base1/lib/avm/eac_rails_base1/instances/processes/daemon.rb +0 -36
- data/sub/avm-eac_rails_base1/lib/avm/eac_rails_base1/instances/processes/tasks_scheduler.rb +0 -24
- data/sub/avm-eac_rails_base1/lib/avm/eac_rails_base1/instances/runners/bundle.rb +0 -26
- data/sub/avm-eac_rails_base1/lib/avm/eac_rails_base1/instances/runners/code_runner.rb +0 -25
- data/sub/avm-eac_rails_base1/lib/avm/eac_rails_base1/instances/runners/log.rb +0 -43
- data/sub/avm-eac_rails_base1/lib/avm/eac_rails_base1/instances/runners/logs/clear.rb +0 -25
- data/sub/avm-eac_rails_base1/lib/avm/eac_rails_base1/instances/runners/logs.rb +0 -16
- data/sub/avm-eac_rails_base1/lib/avm/eac_rails_base1/instances/runners/rails_server.rb +0 -31
- data/sub/avm-eac_rails_base1/lib/avm/eac_rails_base1/instances/runners/tasks_scheduler/systemd_unit.rb +0 -45
- data/sub/avm-eac_rails_base1/lib/avm/eac_rails_base1/instances/runners/tasks_scheduler.rb +0 -15
- data/sub/avm-eac_rails_base1/lib/avm/eac_rails_base1/instances/systemd_unit/service.rb +0 -70
- data/sub/avm-eac_rails_base1/lib/avm/eac_rails_base1/instances/systemd_unit/tasks_scheduler_command.rb +0 -29
- data/sub/avm-eac_rails_base1/lib/avm/eac_rails_base1/instances/systemd_unit.rb +0 -56
- data/sub/avm-eac_rails_base1/lib/avm/eac_rails_base1/runner_with/bundle.rb +0 -23
- data/sub/avm-eac_rails_base1/lib/avm/eac_rails_base1/runner_with/rails_environment.rb +0 -42
- data/sub/avm-eac_rails_base1/lib/avm/eac_rails_base1/sources/base.rb +0 -40
- data/sub/avm-eac_rails_base1/lib/avm/eac_rails_base1/version.rb +0 -7
- data/sub/avm-eac_rails_base1/lib/avm/eac_rails_base1.rb +0 -12
- data/sub/avm-eac_rails_base1/spec/meta/rubocop_spec.rb +0 -3
- data/sub/avm-eac_rails_base1/spec/spec_helper.rb +0 -6
- data/sub/avm-eac_rails_base1/template/avm/eac_rails_base1/instances/apache_path/extra_content.conf +0 -6
- data/sub/avm-eac_rails_base1/template/avm/eac_rails_base1/instances/systemd_unit/tasks_scheduler.service +0 -12
- data/sub/avm-eac_rails_base1/template/avm/eac_rails_base1/instances/systemd_unit/tasks_scheduler_command.sh +0 -6
- data/sub/avm-eac_redmine_base0/Gemfile +0 -8
- data/sub/avm-eac_redmine_base0/avm-eac_redmine_base0.gemspec +0 -26
- data/sub/avm-eac_redmine_base0/lib/avm/eac_redmine_base0/instances/apache_host.rb +0 -10
- data/sub/avm-eac_redmine_base0/lib/avm/eac_redmine_base0/instances/base/database.rb +0 -27
- data/sub/avm-eac_redmine_base0/lib/avm/eac_redmine_base0/instances/base/files.rb +0 -18
- data/sub/avm-eac_redmine_base0/lib/avm/eac_redmine_base0/instances/base/gitolite.rb +0 -52
- data/sub/avm-eac_redmine_base0/lib/avm/eac_redmine_base0/instances/base/install.rb +0 -43
- data/sub/avm-eac_redmine_base0/lib/avm/eac_redmine_base0/instances/base/nodejs.rb +0 -19
- data/sub/avm-eac_redmine_base0/lib/avm/eac_redmine_base0/instances/base/web.rb +0 -17
- data/sub/avm-eac_redmine_base0/lib/avm/eac_redmine_base0/instances/base.rb +0 -63
- data/sub/avm-eac_redmine_base0/lib/avm/eac_redmine_base0/instances/deploy.rb +0 -16
- data/sub/avm-eac_redmine_base0/lib/avm/eac_redmine_base0/instances/docker_image.rb +0 -110
- data/sub/avm-eac_redmine_base0/lib/avm/eac_redmine_base0/instances/rest_api/entity_base.rb +0 -31
- data/sub/avm-eac_redmine_base0/lib/avm/eac_redmine_base0/instances/rest_api/project.rb +0 -21
- data/sub/avm-eac_redmine_base0/lib/avm/eac_redmine_base0/instances/rest_api/root.rb +0 -17
- data/sub/avm-eac_redmine_base0/lib/avm/eac_redmine_base0/instances/rest_api/wiki_page.rb +0 -50
- data/sub/avm-eac_redmine_base0/lib/avm/eac_redmine_base0/instances/rest_api.rb +0 -10
- data/sub/avm-eac_redmine_base0/lib/avm/eac_redmine_base0/instances/runners/docker.rb +0 -15
- data/sub/avm-eac_redmine_base0/lib/avm/eac_redmine_base0/instances/runners/project/wiki_page/read.rb +0 -25
- data/sub/avm-eac_redmine_base0/lib/avm/eac_redmine_base0/instances/runners/project/wiki_page/write.rb +0 -68
- data/sub/avm-eac_redmine_base0/lib/avm/eac_redmine_base0/instances/runners/project/wiki_page.rb +0 -26
- data/sub/avm-eac_redmine_base0/lib/avm/eac_redmine_base0/instances/runners/project.rb +0 -22
- data/sub/avm-eac_redmine_base0/lib/avm/eac_redmine_base0/instances/runners/project_rename.rb +0 -53
- data/sub/avm-eac_redmine_base0/lib/avm/eac_redmine_base0/sources/base/default_settings.rb +0 -40
- data/sub/avm-eac_redmine_base0/lib/avm/eac_redmine_base0/sources/base.rb +0 -34
- data/sub/avm-eac_redmine_base0/lib/avm/eac_redmine_base0/sources/core_update.rb +0 -125
- data/sub/avm-eac_redmine_base0/lib/avm/eac_redmine_base0/sources/runners/core_update.rb +0 -61
- data/sub/avm-eac_redmine_base0/lib/avm/eac_redmine_base0/sources/runners/docker.rb +0 -16
- data/sub/avm-eac_redmine_base0/lib/avm/eac_redmine_base0/version.rb +0 -7
- data/sub/avm-eac_redmine_base0/lib/avm/eac_redmine_base0.rb +0 -16
- data/sub/avm-eac_redmine_base0/locale/en.yml +0 -6
- data/sub/avm-eac_redmine_base0/locale/pt-BR.yml +0 -6
- data/sub/avm-eac_redmine_base0/spec/lib/avm/eac_redmine_base0/instances/apache_host_spec.rb +0 -19
- data/sub/avm-eac_redmine_base0/spec/lib/avm/eac_redmine_base0/instances/apache_host_spec_files/apache_host_spec_no_ssl_content.conf +0 -11
- data/sub/avm-eac_redmine_base0/spec/lib/avm/eac_redmine_base0/instances/base/gitolite_spec.rb +0 -24
- data/sub/avm-eac_redmine_base0/spec/lib/avm/eac_redmine_base0/instances/base/gitolite_spec_files/config.yml +0 -10
- data/sub/avm-eac_redmine_base0/spec/meta/rubocop_spec.rb +0 -3
- data/sub/avm-eac_redmine_base0/spec/spec_helper.rb +0 -6
- data/sub/avm-eac_redmine_base0/template/avm/eac_redmine_base0/instances/deploy/config/install.sh.template +0 -46
- data/sub/avm-eac_redmine_base0/template/avm/eac_redmine_base0/instances/deploy/config/secrets.yml +0 -8
- data/sub/avm-eac_redmine_base0/template/avm/eac_redmine_base0/instances/docker_image/Dockerfile.template +0 -37
- data/sub/avm-eac_redmine_base0/template/avm/eac_redmine_base0/instances/docker_image/apache_host_dockerfile +0 -8
- data/sub/avm-eac_redmine_base0/template/avm/eac_redmine_base0/instances/docker_image/apache_http_virtualhost.conf.template +0 -10
- data/sub/avm-eac_redmine_base0/template/avm/eac_redmine_base0/instances/docker_image/apache_https_virtualhost.conf.template +0 -16
- data/sub/avm-eac_redmine_base0/template/avm/eac_redmine_base0/instances/docker_image/apache_path_dockerfile +0 -5
- data/sub/avm-eac_redmine_base0/template/avm/eac_redmine_base0/instances/docker_image/start.sh.template +0 -53
- data/sub/avm-eac_webapp_base0/Gemfile +0 -8
- data/sub/avm-eac_webapp_base0/avm-eac_webapp_base0.gemspec +0 -24
- data/sub/avm-eac_webapp_base0/lib/avm/eac_webapp_base0/executables.rb +0 -23
- data/sub/avm-eac_webapp_base0/lib/avm/eac_webapp_base0/file_formats/css/file_apply.rb +0 -44
- data/sub/avm-eac_webapp_base0/lib/avm/eac_webapp_base0/file_formats/css.rb +0 -17
- data/sub/avm-eac_webapp_base0/lib/avm/eac_webapp_base0/file_formats/html.rb +0 -42
- data/sub/avm-eac_webapp_base0/lib/avm/eac_webapp_base0/file_formats/javascript.rb +0 -19
- data/sub/avm-eac_webapp_base0/lib/avm/eac_webapp_base0/file_formats/json.rb +0 -23
- data/sub/avm-eac_webapp_base0/lib/avm/eac_webapp_base0/file_formats/provider.rb +0 -17
- data/sub/avm-eac_webapp_base0/lib/avm/eac_webapp_base0/file_formats/xml.rb +0 -23
- data/sub/avm-eac_webapp_base0/lib/avm/eac_webapp_base0/instances/apache_base.rb +0 -28
- data/sub/avm-eac_webapp_base0/lib/avm/eac_webapp_base0/instances/apache_host.rb +0 -72
- data/sub/avm-eac_webapp_base0/lib/avm/eac_webapp_base0/instances/apache_path.rb +0 -37
- data/sub/avm-eac_webapp_base0/lib/avm/eac_webapp_base0/instances/base/apache.rb +0 -42
- data/sub/avm-eac_webapp_base0/lib/avm/eac_webapp_base0/instances/base/deploy.rb +0 -24
- data/sub/avm-eac_webapp_base0/lib/avm/eac_webapp_base0/instances/base/deploy_info.rb +0 -27
- data/sub/avm-eac_webapp_base0/lib/avm/eac_webapp_base0/instances/base/install.rb +0 -24
- data/sub/avm-eac_webapp_base0/lib/avm/eac_webapp_base0/instances/base.rb +0 -37
- data/sub/avm-eac_webapp_base0/lib/avm/eac_webapp_base0/instances/deploy/appended_directories.rb +0 -25
- data/sub/avm-eac_webapp_base0/lib/avm/eac_webapp_base0/instances/deploy/build.rb +0 -45
- data/sub/avm-eac_webapp_base0/lib/avm/eac_webapp_base0/instances/deploy/info.rb +0 -44
- data/sub/avm-eac_webapp_base0/lib/avm/eac_webapp_base0/instances/deploy/scm.rb +0 -88
- data/sub/avm-eac_webapp_base0/lib/avm/eac_webapp_base0/instances/deploy/setup_files_unit.rb +0 -53
- data/sub/avm-eac_webapp_base0/lib/avm/eac_webapp_base0/instances/deploy/write_on_target.rb +0 -18
- data/sub/avm-eac_webapp_base0/lib/avm/eac_webapp_base0/instances/deploy.rb +0 -70
- data/sub/avm-eac_webapp_base0/lib/avm/eac_webapp_base0/instances/deploy_info.rb +0 -35
- data/sub/avm-eac_webapp_base0/lib/avm/eac_webapp_base0/instances/processes/web_server.rb +0 -34
- data/sub/avm-eac_webapp_base0/lib/avm/eac_webapp_base0/instances/runners/apache_host.rb +0 -34
- data/sub/avm-eac_webapp_base0/lib/avm/eac_webapp_base0/instances/runners/apache_path.rb +0 -38
- data/sub/avm-eac_webapp_base0/lib/avm/eac_webapp_base0/instances/runners/deploy.rb +0 -47
- data/sub/avm-eac_webapp_base0/lib/avm/eac_webapp_base0/instances/runners/deploy_info.rb +0 -24
- data/sub/avm-eac_webapp_base0/lib/avm/eac_webapp_base0/sources/base.rb +0 -13
- data/sub/avm-eac_webapp_base0/lib/avm/eac_webapp_base0/version.rb +0 -7
- data/sub/avm-eac_webapp_base0/lib/avm/eac_webapp_base0.rb +0 -14
- data/sub/avm-eac_webapp_base0/spec/lib/avm/eac_webapp_base0/file_formats/css_spec.rb +0 -7
- data/sub/avm-eac_webapp_base0/spec/lib/avm/eac_webapp_base0/file_formats/css_spec_files/css1.source.css +0 -11
- data/sub/avm-eac_webapp_base0/spec/lib/avm/eac_webapp_base0/file_formats/css_spec_files/css1.target.css +0 -11
- data/sub/avm-eac_webapp_base0/spec/lib/avm/eac_webapp_base0/file_formats/html_spec.rb +0 -7
- data/sub/avm-eac_webapp_base0/spec/lib/avm/eac_webapp_base0/file_formats/html_spec_files/html_code.html.erb.source +0 -8
- data/sub/avm-eac_webapp_base0/spec/lib/avm/eac_webapp_base0/file_formats/html_spec_files/html_code.html.erb.target +0 -8
- data/sub/avm-eac_webapp_base0/spec/lib/avm/eac_webapp_base0/file_formats/html_spec_files/html_code.html.source +0 -5
- data/sub/avm-eac_webapp_base0/spec/lib/avm/eac_webapp_base0/file_formats/html_spec_files/html_code.html.target +0 -5
- data/sub/avm-eac_webapp_base0/spec/lib/avm/eac_webapp_base0/file_formats/javascript_spec.rb +0 -7
- data/sub/avm-eac_webapp_base0/spec/lib/avm/eac_webapp_base0/file_formats/javascript_spec_files/javascript_code1.js.source +0 -29
- data/sub/avm-eac_webapp_base0/spec/lib/avm/eac_webapp_base0/file_formats/javascript_spec_files/javascript_code1.js.target +0 -21
- data/sub/avm-eac_webapp_base0/spec/lib/avm/eac_webapp_base0/file_formats/json_spec.rb +0 -7
- data/sub/avm-eac_webapp_base0/spec/lib/avm/eac_webapp_base0/file_formats/json_spec_files/json_code.json.source +0 -8
- data/sub/avm-eac_webapp_base0/spec/lib/avm/eac_webapp_base0/file_formats/json_spec_files/json_code.json.target +0 -7
- data/sub/avm-eac_webapp_base0/spec/lib/avm/eac_webapp_base0/file_formats/xml_spec.rb +0 -7
- data/sub/avm-eac_webapp_base0/spec/lib/avm/eac_webapp_base0/file_formats/xml_spec_files/xml_code.xml.source +0 -11
- data/sub/avm-eac_webapp_base0/spec/lib/avm/eac_webapp_base0/file_formats/xml_spec_files/xml_code.xml.target +0 -9
- data/sub/avm-eac_webapp_base0/spec/lib/avm/eac_webapp_base0/instances/base_spec.rb +0 -11
- data/sub/avm-eac_webapp_base0/spec/lib/avm/eac_webapp_base0/sources/base_spec.rb +0 -7
- data/sub/avm-eac_webapp_base0/spec/meta/rubocop_spec.rb +0 -3
- data/sub/avm-eac_webapp_base0/spec/spec_helper.rb +0 -5
- data/sub/avm-eac_webapp_base0/template/avm/eac_webapp_base0/instances/apache_host/no_ssl.conf +0 -11
- data/sub/avm-eac_webapp_base0/template/avm/eac_webapp_base0/instances/apache_path/default.conf +0 -7
|
@@ -1,40 +0,0 @@
|
|
|
1
|
-
# frozen_string_literal: true
|
|
2
|
-
|
|
3
|
-
module Avm
|
|
4
|
-
module EacRedmineBase0
|
|
5
|
-
module Sources
|
|
6
|
-
class Base < ::Avm::EacRailsBase1::Sources::Base
|
|
7
|
-
module DefaultSettings
|
|
8
|
-
common_concern
|
|
9
|
-
|
|
10
|
-
DEFAULT_RUBY_VERSION_PARSER = /ruby_version='([^']+)'/.to_parser { |m| m[1] }
|
|
11
|
-
INSTALLER_PLUGIN_DEFAULT_SETTINGS_PATH =
|
|
12
|
-
'plugins/redmine_installer/installer/default_settings.sh'
|
|
13
|
-
|
|
14
|
-
# @return [ActiveSupport::Duration]
|
|
15
|
-
def default_passenger_start_timeout
|
|
16
|
-
default_setting_value('passenger_start_timeout').to_i.seconds
|
|
17
|
-
end
|
|
18
|
-
|
|
19
|
-
# @return [Avm::VersionNumber]
|
|
20
|
-
def default_ruby_version
|
|
21
|
-
::Avm::VersionNumber.new(default_setting_value('ruby_version'))
|
|
22
|
-
end
|
|
23
|
-
|
|
24
|
-
# @param key [String]
|
|
25
|
-
# @return [String]
|
|
26
|
-
def default_setting_value(key)
|
|
27
|
-
default_setting_parser(key)
|
|
28
|
-
.parse!(path.join(INSTALLER_PLUGIN_DEFAULT_SETTINGS_PATH).read)
|
|
29
|
-
end
|
|
30
|
-
|
|
31
|
-
# @param key [String]
|
|
32
|
-
# @return [EacRubyUtils::RegexpParser]
|
|
33
|
-
def default_setting_parser(key)
|
|
34
|
-
/#{::Regexp.quote(key)}='([^']+)'/.to_parser { |m| m[1] }
|
|
35
|
-
end
|
|
36
|
-
end
|
|
37
|
-
end
|
|
38
|
-
end
|
|
39
|
-
end
|
|
40
|
-
end
|
|
@@ -1,34 +0,0 @@
|
|
|
1
|
-
# frozen_string_literal: true
|
|
2
|
-
|
|
3
|
-
module Avm
|
|
4
|
-
module EacRedmineBase0
|
|
5
|
-
module Sources
|
|
6
|
-
class Base < ::Avm::EacRailsBase1::Sources::Base
|
|
7
|
-
DEFAULT_TEST_COMMANDS = {}.freeze
|
|
8
|
-
REDMINE_LIB_SUBPATH = 'lib/redmine.rb'
|
|
9
|
-
SUBS_INCLUDE_PATHS_DEFAULT = ['plugins/*'].freeze
|
|
10
|
-
|
|
11
|
-
# Return a empty hash (No tests).
|
|
12
|
-
#
|
|
13
|
-
# @return [Hash<String, EacRubyUtils::Envs::Command].
|
|
14
|
-
def default_test_commands
|
|
15
|
-
DEFAULT_TEST_COMMANDS
|
|
16
|
-
end
|
|
17
|
-
|
|
18
|
-
def redmine_lib_path
|
|
19
|
-
path.join(REDMINE_LIB_SUBPATH)
|
|
20
|
-
end
|
|
21
|
-
|
|
22
|
-
def subs_include_paths_default
|
|
23
|
-
SUBS_INCLUDE_PATHS_DEFAULT
|
|
24
|
-
end
|
|
25
|
-
|
|
26
|
-
def valid?
|
|
27
|
-
super && redmine_lib_path.exist?
|
|
28
|
-
end
|
|
29
|
-
|
|
30
|
-
require_sub __FILE__, include_modules: true
|
|
31
|
-
end
|
|
32
|
-
end
|
|
33
|
-
end
|
|
34
|
-
end
|
|
@@ -1,125 +0,0 @@
|
|
|
1
|
-
# frozen_string_literal: true
|
|
2
|
-
|
|
3
|
-
module Avm
|
|
4
|
-
module EacRedmineBase0
|
|
5
|
-
module Sources
|
|
6
|
-
class CoreUpdate
|
|
7
|
-
enable_speaker
|
|
8
|
-
enable_simple_cache
|
|
9
|
-
common_constructor :source, :version, :url
|
|
10
|
-
|
|
11
|
-
GITIGNORE_ADD = %w[/public/assets/**/* /config/install.sh /config/secrets_key.txt
|
|
12
|
-
/log/**/*].freeze
|
|
13
|
-
GITIGNORE_DEL = %w[/Gemfile.lock /plugins/* /public/themes/*].freeze
|
|
14
|
-
TARGET_KEEP = ::Avm::Sources::Base::Configuration::CONFIGURATION_FILENAMES
|
|
15
|
-
.map { |b| "/#{b}" } + %w[/Gemfile.lock /plugins/*/**
|
|
16
|
-
/public/themes/*/**].freeze
|
|
17
|
-
TARGET_REMOVE = %w[alternate classic].map { |t| "/public/themes/#{t}/**" }
|
|
18
|
-
|
|
19
|
-
def run
|
|
20
|
-
::EacRubyUtils::Fs::Temp.on_directory do |dir|
|
|
21
|
-
@tempdir = dir
|
|
22
|
-
assert_source_package
|
|
23
|
-
extract_package_to_tempdir
|
|
24
|
-
sync_content
|
|
25
|
-
change_git_ignore
|
|
26
|
-
validate_empty_dir
|
|
27
|
-
end
|
|
28
|
-
git_commit
|
|
29
|
-
success 'Done!'
|
|
30
|
-
end
|
|
31
|
-
|
|
32
|
-
def assert_source_package
|
|
33
|
-
infom 'Asserting source package...'
|
|
34
|
-
source_package.assert
|
|
35
|
-
infov 'Package cache path', source_package.path
|
|
36
|
-
infov 'Package size', source_package.path.size
|
|
37
|
-
end
|
|
38
|
-
|
|
39
|
-
def fs_object_id
|
|
40
|
-
[source.path, version].join('_').variableize
|
|
41
|
-
end
|
|
42
|
-
|
|
43
|
-
private
|
|
44
|
-
|
|
45
|
-
attr_reader :tempdir
|
|
46
|
-
|
|
47
|
-
def change_git_ignore
|
|
48
|
-
file = target_path.join('.gitignore')
|
|
49
|
-
file.write(
|
|
50
|
-
(file.read.each_line.map(&:strip).reject { |line| GITIGNORE_DEL.include?(line) } +
|
|
51
|
-
['', '#eac_redmine_base0'] + GITIGNORE_ADD).map { |line| "#{line}\n" }.join
|
|
52
|
-
)
|
|
53
|
-
end
|
|
54
|
-
|
|
55
|
-
def extract_package_to_tempdir
|
|
56
|
-
infom "Extracting package to tempdir #{tempdir}..."
|
|
57
|
-
::EacRubyUtils::Envs.local.command(
|
|
58
|
-
'tar', '-xf', source_package.path.to_path, '-C', tempdir.to_path,
|
|
59
|
-
'--strip-components', '1'
|
|
60
|
-
).execute!
|
|
61
|
-
end
|
|
62
|
-
|
|
63
|
-
def git_commit
|
|
64
|
-
if git_repo.dirty?
|
|
65
|
-
infom 'Git commiting...'
|
|
66
|
-
git_repo.command('add', '--', target_path).execute!
|
|
67
|
-
git_repo.command('commit', '-m', git_commit_message, '--', target_path).execute!
|
|
68
|
-
else
|
|
69
|
-
infom 'Nothing to commit'
|
|
70
|
-
end
|
|
71
|
-
end
|
|
72
|
-
|
|
73
|
-
def git_commit_message
|
|
74
|
-
i18n_translate(__method__, version: version, __locale: source.locale)
|
|
75
|
-
end
|
|
76
|
-
|
|
77
|
-
def git_repo_uncached
|
|
78
|
-
::EacGit::Local.new(target_path)
|
|
79
|
-
end
|
|
80
|
-
|
|
81
|
-
def sync_content
|
|
82
|
-
::Avm::Sync.new(source_path, target_path)
|
|
83
|
-
.add_exclude('/*').add_includes(*target_files_to_remove).move_mode(true).run
|
|
84
|
-
end
|
|
85
|
-
|
|
86
|
-
# @return [EacFs::CachedDownload]
|
|
87
|
-
def source_package_uncached
|
|
88
|
-
::EacFs::CachedDownload.new(url, fs_cache)
|
|
89
|
-
end
|
|
90
|
-
|
|
91
|
-
def validate_empty_dir
|
|
92
|
-
if source_path.children.empty?
|
|
93
|
-
infom 'No content left in source directory'
|
|
94
|
-
else
|
|
95
|
-
fatal_error 'Found entries in source directory: ' + # rubocop:disable Style/StringConcatenation
|
|
96
|
-
source_path.children.map { |c| c.basename.to_path }.join(', ')
|
|
97
|
-
end
|
|
98
|
-
end
|
|
99
|
-
|
|
100
|
-
def source_path_uncached
|
|
101
|
-
::Pathname.new(tempdir.to_path)
|
|
102
|
-
end
|
|
103
|
-
|
|
104
|
-
# @return [Enumerable<String>]
|
|
105
|
-
def target_files_to_remove
|
|
106
|
-
git_repo.command('ls-files').execute!
|
|
107
|
-
.each_line.map { |v| "/#{v.strip}" }
|
|
108
|
-
.reject { |tpath| target_keep?(tpath) }
|
|
109
|
-
end
|
|
110
|
-
|
|
111
|
-
# @param tpath [String]
|
|
112
|
-
# @return [Boolean]
|
|
113
|
-
def target_keep?(tpath)
|
|
114
|
-
tpath = tpath.to_pathname
|
|
115
|
-
TARGET_REMOVE.none? { |target_remove| tpath.fnmatch?(target_remove) }
|
|
116
|
-
TARGET_KEEP.any? { |target_keep| tpath.fnmatch?(target_keep) }
|
|
117
|
-
end
|
|
118
|
-
|
|
119
|
-
def target_path_uncached
|
|
120
|
-
source.path
|
|
121
|
-
end
|
|
122
|
-
end
|
|
123
|
-
end
|
|
124
|
-
end
|
|
125
|
-
end
|
|
@@ -1,61 +0,0 @@
|
|
|
1
|
-
# frozen_string_literal: true
|
|
2
|
-
|
|
3
|
-
module Avm
|
|
4
|
-
module EacRedmineBase0
|
|
5
|
-
module Sources
|
|
6
|
-
module Runners
|
|
7
|
-
class CoreUpdate
|
|
8
|
-
runner_with :help do
|
|
9
|
-
arg_opt '-u', '--url', 'Core\'s package URL.'
|
|
10
|
-
arg_opt '-v', '--version', 'Core\'s version.'
|
|
11
|
-
desc 'Update instance\' core.'
|
|
12
|
-
end
|
|
13
|
-
|
|
14
|
-
def run
|
|
15
|
-
start_banner
|
|
16
|
-
validate
|
|
17
|
-
update
|
|
18
|
-
end
|
|
19
|
-
|
|
20
|
-
private
|
|
21
|
-
|
|
22
|
-
def start_banner
|
|
23
|
-
infov 'URL', url
|
|
24
|
-
infov 'Version', version
|
|
25
|
-
end
|
|
26
|
-
|
|
27
|
-
def update
|
|
28
|
-
::Avm::EacRedmineBase0::Sources::CoreUpdate
|
|
29
|
-
.new(runner_context.call(:subject), version, url).run
|
|
30
|
-
end
|
|
31
|
-
|
|
32
|
-
def url
|
|
33
|
-
parsed.url || url_by_version
|
|
34
|
-
end
|
|
35
|
-
|
|
36
|
-
def url_by_version
|
|
37
|
-
parsed.version.if_present do |v|
|
|
38
|
-
"https://www.redmine.org/releases/redmine-#{v}.tar.gz"
|
|
39
|
-
end
|
|
40
|
-
end
|
|
41
|
-
|
|
42
|
-
def validate
|
|
43
|
-
%w[url version].each do |attr|
|
|
44
|
-
fatal_error "\"#{attr}\" is blank. See avaiable options." if send(attr).blank?
|
|
45
|
-
end
|
|
46
|
-
end
|
|
47
|
-
|
|
48
|
-
def version
|
|
49
|
-
parsed.version || version_by_url
|
|
50
|
-
end
|
|
51
|
-
|
|
52
|
-
def version_by_url
|
|
53
|
-
parsed.url.if_present do |v|
|
|
54
|
-
/(\d+.\d+.\d+)/.if_match(v, false) { |m| m[1] }
|
|
55
|
-
end
|
|
56
|
-
end
|
|
57
|
-
end
|
|
58
|
-
end
|
|
59
|
-
end
|
|
60
|
-
end
|
|
61
|
-
end
|
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
# frozen_string_literal: true
|
|
2
|
-
|
|
3
|
-
module Avm
|
|
4
|
-
module EacRedmineBase0
|
|
5
|
-
module Sources
|
|
6
|
-
module Runners
|
|
7
|
-
class Docker < ::Avm::EacGenericBase0::Sources::Docker::Runner
|
|
8
|
-
# @return [Avm::EacUbuntuBase0::DockerImage]
|
|
9
|
-
def docker_image
|
|
10
|
-
::Avm::EacUbuntuBase0::DockerImage.new
|
|
11
|
-
end
|
|
12
|
-
end
|
|
13
|
-
end
|
|
14
|
-
end
|
|
15
|
-
end
|
|
16
|
-
end
|
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
# frozen_string_literal: true
|
|
2
|
-
|
|
3
|
-
require 'eac_ruby_utils'
|
|
4
|
-
EacRubyUtils::RootModuleSetup.perform __FILE__
|
|
5
|
-
|
|
6
|
-
module Avm
|
|
7
|
-
module EacRedmineBase0
|
|
8
|
-
end
|
|
9
|
-
end
|
|
10
|
-
|
|
11
|
-
require 'avm'
|
|
12
|
-
require 'avm/eac_generic_base0'
|
|
13
|
-
require 'avm/eac_rails_base1'
|
|
14
|
-
require 'avm/eac_ubuntu_base0'
|
|
15
|
-
require 'eac_fs'
|
|
16
|
-
require 'eac_rest'
|
|
@@ -1,19 +0,0 @@
|
|
|
1
|
-
# frozen_string_literal: true
|
|
2
|
-
|
|
3
|
-
RSpec.describe Avm::EacRedmineBase0::Instances::ApacheHost do
|
|
4
|
-
describe '#no_ssl_site_content' do
|
|
5
|
-
let(:instance) { Avm::EacRedmineBase0::Instances::Base.by_id('stub-app_0') }
|
|
6
|
-
let(:apache_host) { described_class.new(instance) }
|
|
7
|
-
let(:fixtures_dir) { Pathname.new('apache_host_spec_files').expand_path(__dir__) }
|
|
8
|
-
let(:expected_content) { fixtures_dir.join('apache_host_spec_no_ssl_content.conf').read }
|
|
9
|
-
|
|
10
|
-
before do
|
|
11
|
-
instance.entry('install.path').write('/path/to/stub-app_0')
|
|
12
|
-
instance.entry('web.url').write('http://stubapp.net')
|
|
13
|
-
end
|
|
14
|
-
|
|
15
|
-
it do
|
|
16
|
-
expect(apache_host.no_ssl_site_content).to eq(expected_content)
|
|
17
|
-
end
|
|
18
|
-
end
|
|
19
|
-
end
|
data/sub/avm-eac_redmine_base0/spec/lib/avm/eac_redmine_base0/instances/base/gitolite_spec.rb
DELETED
|
@@ -1,24 +0,0 @@
|
|
|
1
|
-
# frozen_string_literal: true
|
|
2
|
-
|
|
3
|
-
RSpec.describe Avm::EacRedmineBase0::Instances::Base, '#gitolite' do
|
|
4
|
-
include_examples 'entries_values', __FILE__, {
|
|
5
|
-
'app_0' => {
|
|
6
|
-
'gitolite.username' => 'git',
|
|
7
|
-
'gitolite.path' => '/var/lib/git',
|
|
8
|
-
'gitolite.scheme' => 'file',
|
|
9
|
-
'gitolite.hostname' => 'localhost'
|
|
10
|
-
},
|
|
11
|
-
'app_1' => {
|
|
12
|
-
'gitolite.username' => 'git1',
|
|
13
|
-
'gitolite.path' => '/var/lib/git1',
|
|
14
|
-
'gitolite.scheme' => 'file',
|
|
15
|
-
'gitolite.hostname' => 'localhost'
|
|
16
|
-
},
|
|
17
|
-
'app_2' => {
|
|
18
|
-
'gitolite.username' => 'git2',
|
|
19
|
-
'gitolite.path' => '/home/git2',
|
|
20
|
-
'gitolite.scheme' => 'file',
|
|
21
|
-
'gitolite.hostname' => 'localhost'
|
|
22
|
-
}
|
|
23
|
-
}
|
|
24
|
-
end
|
|
@@ -1,46 +0,0 @@
|
|
|
1
|
-
# Ruby
|
|
2
|
-
export ruby_version='%%INSTALL.RUBY.VERSION%%'
|
|
3
|
-
export passenger_start_timeout='%%INSTALL.PASSENGER_START_TIMEOUT%%'
|
|
4
|
-
|
|
5
|
-
# NodeJs
|
|
6
|
-
export nodejs_version='%%INSTALL.NODEJS.VERSION%%'
|
|
7
|
-
|
|
8
|
-
# Database
|
|
9
|
-
export postgresql_internal='%%DATABASE_INTERNAL%%'
|
|
10
|
-
export postgresql_host='%%DATABASE.HOSTNAME%%'
|
|
11
|
-
export postgresql_port='%%DATABASE.PORT%%'
|
|
12
|
-
export postgresql_database='%%DATABASE.NAME%%'
|
|
13
|
-
export postgresql_user='%%DATABASE.USERNAME%%'
|
|
14
|
-
export postgresql_password='%%DATABASE.PASSWORD%%'
|
|
15
|
-
export postgresql_version='%%POSTGRESQL.VERSION%%'
|
|
16
|
-
export postgresql_extra_settings='%%DATABASE.EXTRA%%'
|
|
17
|
-
|
|
18
|
-
# Web
|
|
19
|
-
if [ '%%WEB.SCHEME%%' == 'https' ]; then
|
|
20
|
-
export address_https='true'
|
|
21
|
-
else
|
|
22
|
-
export address_https='false'
|
|
23
|
-
fi
|
|
24
|
-
export address_host='%%WEB.AUTHORITY%%'
|
|
25
|
-
export address_path='%%WEB.PATH%%'
|
|
26
|
-
|
|
27
|
-
# Git
|
|
28
|
-
export git_repositories_hierarchical_organisation=false
|
|
29
|
-
export gitolite_user='%%GITOLITE.USERNAME%%'
|
|
30
|
-
export gitolite_user_home='%%GITOLITE.PATH%%'
|
|
31
|
-
export redmine_git_hosting_ssh_key_name=redmine_git_hosting_id
|
|
32
|
-
|
|
33
|
-
# Mail settings
|
|
34
|
-
export smtp_server='%%MAILER.SMTP.ADDRESS%%'
|
|
35
|
-
export smtp_port='%%MAILER.SMTP.PORT%%'
|
|
36
|
-
export smtp_domain='%%MAILER.SMTP.DOMAIN%%'
|
|
37
|
-
export smtp_tls='%%MAILER.SMTP.TLS%%'
|
|
38
|
-
export smtp_enable_starttls_auto='%%MAILER.SMTP.STARTTLS_AUTO%%'
|
|
39
|
-
export smtp_openssl_verify_mode='%%MAILER.SMTP.OPENSSL_VERIFY_MODE%%'
|
|
40
|
-
export smtp_authentication='%%MAILER.SMTP.AUTHENTICATION%%'
|
|
41
|
-
export smtp_username='%%MAILER.SMTP.USERNAME%%'
|
|
42
|
-
export smtp_password='%%MAILER.SMTP.PASSWORD%%'
|
|
43
|
-
export mail_from='%%MAILER.FROM%%'
|
|
44
|
-
|
|
45
|
-
# Extra
|
|
46
|
-
%%INSTALL.EXTRA%%
|
|
@@ -1,37 +0,0 @@
|
|
|
1
|
-
FROM '%%base_image%%'
|
|
2
|
-
USER root
|
|
3
|
-
|
|
4
|
-
# Redmine / Código-fonte
|
|
5
|
-
RUN echo '%%redmine_source_git_id%%' '%%redmine_user_home%%/redmine_source_git_id'
|
|
6
|
-
ADD '%%redmine_source_path%%' '%%redmine_path%%/'
|
|
7
|
-
RUN chown -R '%%redmine_user%%:%%redmine_user%%' '%%redmine_user_home%%'
|
|
8
|
-
|
|
9
|
-
# Redmine / Configuração de instalação
|
|
10
|
-
USER '%%redmine_user%%'
|
|
11
|
-
WORKDIR '%%redmine_user_home%%'
|
|
12
|
-
COPY install_settings.sh "%%redmine_path%%/config/install.sh"
|
|
13
|
-
|
|
14
|
-
# Redmine / Instalação
|
|
15
|
-
USER '%%redmine_user%%'
|
|
16
|
-
WORKDIR '%%redmine_user_home%%'
|
|
17
|
-
RUN SKIP_DATABASE='%%skip_database%%' \
|
|
18
|
-
'%%redmine_path%%/plugins/redmine_installer/installer/run.sh' '%%installer_target_task%%'
|
|
19
|
-
|
|
20
|
-
# Apache / Configuração do virtualhost
|
|
21
|
-
%%apache_setup%%
|
|
22
|
-
|
|
23
|
-
# Portas
|
|
24
|
-
EXPOSE 80/tcp 443/tcp
|
|
25
|
-
|
|
26
|
-
# Servidor SSH
|
|
27
|
-
%%ssh_server_install%%
|
|
28
|
-
|
|
29
|
-
# Execução
|
|
30
|
-
USER root
|
|
31
|
-
COPY start.sh '%%start_path%%'
|
|
32
|
-
RUN /bin/chmod +x '%%start_path%%'
|
|
33
|
-
RUN /bin/chown '%%redmine_user%%:%%redmine_user%%' '%%start_path%%'
|
|
34
|
-
RUN chmod 755 '%%redmine_user_home%%'
|
|
35
|
-
USER '%%redmine_user%%'
|
|
36
|
-
WORKDIR '%%redmine_user_home%%'
|
|
37
|
-
CMD '%%start_path%%'
|
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
COPY apache_http_virtualhost.conf /etc/apache2/sites-available/redmine.conf
|
|
2
|
-
COPY apache_https_virtualhost.conf /etc/apache2/sites-available/redmine_ssl.conf
|
|
3
|
-
USER root
|
|
4
|
-
RUN a2ensite redmine
|
|
5
|
-
RUN a2ensite redmine_ssl
|
|
6
|
-
RUN a2dissite 000-default
|
|
7
|
-
RUN a2enmod ssl
|
|
8
|
-
RUN service apache2 restart
|
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
<IfModule mod_ssl.c>
|
|
2
|
-
<VirtualHost _default_:443>
|
|
3
|
-
SSLEngine on
|
|
4
|
-
SSLCertificateFile /etc/ssl/certs/ssl-cert-snakeoil.pem
|
|
5
|
-
SSLCertificateKeyFile /etc/ssl/private/ssl-cert-snakeoil.key
|
|
6
|
-
|
|
7
|
-
DocumentRoot "%%redmine_path%%/public"
|
|
8
|
-
PassengerEnabled On
|
|
9
|
-
|
|
10
|
-
<Directory "%%redmine_path%%/public" >
|
|
11
|
-
Allow from all
|
|
12
|
-
Options -MultiViews
|
|
13
|
-
Require all granted
|
|
14
|
-
</Directory>
|
|
15
|
-
</VirtualHost>
|
|
16
|
-
</IfModule>
|
|
@@ -1,53 +0,0 @@
|
|
|
1
|
-
#!/bin/bash
|
|
2
|
-
|
|
3
|
-
set -u
|
|
4
|
-
set -e
|
|
5
|
-
|
|
6
|
-
source '%%redmine_path%%/plugins/redmine_installer/installer/environment.sh'
|
|
7
|
-
|
|
8
|
-
function title() {
|
|
9
|
-
infom ">>>> $1 <<<<"
|
|
10
|
-
}
|
|
11
|
-
|
|
12
|
-
function redmine_install() {
|
|
13
|
-
title 'Installing Redmine...'
|
|
14
|
-
"$INSTALL_ROOT/run.sh" '%%installer_target_task%%'
|
|
15
|
-
}
|
|
16
|
-
|
|
17
|
-
function apache_start() {
|
|
18
|
-
title 'Restarting Apache HTTPD service...'
|
|
19
|
-
sudo service apache2 restart
|
|
20
|
-
}
|
|
21
|
-
|
|
22
|
-
function ssh_start() {
|
|
23
|
-
title 'Restarting SSH service...'
|
|
24
|
-
sudo service ssh restart
|
|
25
|
-
}
|
|
26
|
-
|
|
27
|
-
function postgresql_start() {
|
|
28
|
-
if bool_r "$SKIP_DATABASE"; then return 0; fi
|
|
29
|
-
if ! bool_r "$postgresql_internal"; then return 0; fi
|
|
30
|
-
|
|
31
|
-
title 'Restarting PostgresSQL service...'
|
|
32
|
-
sudo service postgresql restart
|
|
33
|
-
}
|
|
34
|
-
|
|
35
|
-
function request_http_interface() {
|
|
36
|
-
local TARGET_URL='http://localhost%%web.path%%'
|
|
37
|
-
title "Requesting web interface in ${TARGET_URL}..."
|
|
38
|
-
wget --timeout '%%INSTALL.PASSENGER_START_TIMEOUT%%' "${TARGET_URL}"
|
|
39
|
-
}
|
|
40
|
-
|
|
41
|
-
function redmine_log() {
|
|
42
|
-
title 'Reading production log...'
|
|
43
|
-
LOG_FILE='%%redmine_path%%/log/production.log'
|
|
44
|
-
printf " * tail -f \"$LOG_FILE\":\n"
|
|
45
|
-
sudo tail -f "$LOG_FILE"
|
|
46
|
-
}
|
|
47
|
-
|
|
48
|
-
redmine_install
|
|
49
|
-
apache_start
|
|
50
|
-
ssh_start
|
|
51
|
-
postgresql_start
|
|
52
|
-
request_http_interface
|
|
53
|
-
redmine_log
|
|
@@ -1,24 +0,0 @@
|
|
|
1
|
-
# frozen_string_literal: true
|
|
2
|
-
|
|
3
|
-
$LOAD_PATH.push File.expand_path('lib', __dir__)
|
|
4
|
-
|
|
5
|
-
require 'avm/eac_webapp_base0/version'
|
|
6
|
-
|
|
7
|
-
Gem::Specification.new do |s|
|
|
8
|
-
s.name = 'avm-eac_webapp_base0'
|
|
9
|
-
s.version = Avm::EacWebappBase0::VERSION
|
|
10
|
-
s.authors = ['Put here the authors']
|
|
11
|
-
s.summary = 'Put here de description.'
|
|
12
|
-
|
|
13
|
-
s.files = Dir['{lib,template}/**/{*,.*}']
|
|
14
|
-
s.required_ruby_version = '>= 2.7'
|
|
15
|
-
|
|
16
|
-
s.add_dependency 'avm', '~> 0.98', '>= 0.98.4'
|
|
17
|
-
s.add_dependency 'avm-eac_generic_base0', '~> 0.15', '>= 0.15.2'
|
|
18
|
-
s.add_dependency 'avm-eac_postgresql_base0', '~> 0.6'
|
|
19
|
-
s.add_dependency 'avm-eac_ubuntu_base0', '~> 0.7'
|
|
20
|
-
s.add_dependency 'eac_ruby_utils', '~> 0.130'
|
|
21
|
-
s.add_dependency 'htmlbeautifier', '~> 1.4', '>= 1.4.3'
|
|
22
|
-
|
|
23
|
-
s.add_development_dependency 'eac_ruby_gem_support', '~> 0.12', '>= 0.12.2'
|
|
24
|
-
end
|
|
@@ -1,23 +0,0 @@
|
|
|
1
|
-
# frozen_string_literal: true
|
|
2
|
-
|
|
3
|
-
module Avm
|
|
4
|
-
module EacWebappBase0
|
|
5
|
-
module Executables
|
|
6
|
-
class << self
|
|
7
|
-
enable_simple_cache
|
|
8
|
-
|
|
9
|
-
def env
|
|
10
|
-
::EacRubyUtils::Envs.local
|
|
11
|
-
end
|
|
12
|
-
|
|
13
|
-
private
|
|
14
|
-
|
|
15
|
-
%w[cssbeautify-cli js-beautify tidy].each do |program|
|
|
16
|
-
define_method("#{program.underscore}_uncached") do
|
|
17
|
-
env.executable(program, '--version')
|
|
18
|
-
end
|
|
19
|
-
end
|
|
20
|
-
end
|
|
21
|
-
end
|
|
22
|
-
end
|
|
23
|
-
end
|