avm-tools 0.100.0 → 0.103.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/avm/app_src.rb +8 -7
- data/lib/avm/eac_redmine_base0/docker_image.rb +52 -0
- data/lib/avm/eac_redmine_base0/instance.rb +2 -2
- data/lib/avm/git/auto_commit/rules/manual.rb +1 -1
- data/lib/avm/git/issue/complete.rb +4 -8
- data/lib/avm/git/issue/complete/commits.rb +42 -0
- data/lib/avm/git/issue/complete/git_subrepos.rb +23 -0
- data/lib/avm/git/issue/complete/local_branch.rb +54 -0
- data/lib/avm/git/issue/complete/local_tag.rb +39 -0
- data/lib/avm/git/issue/complete/push.rb +54 -0
- data/lib/avm/git/issue/complete/remote.rb +33 -0
- data/lib/avm/git/issue/complete/test.rb +45 -0
- data/lib/avm/git/issue/complete/tracker.rb +28 -0
- data/lib/avm/git/issue/complete/validations.rb +53 -0
- data/lib/avm/git/issue/complete/working_tree.rb +19 -0
- data/lib/avm/git/revision_test.rb +9 -6
- data/lib/avm/instances/base/dockerizable.rb +1 -0
- data/lib/avm/instances/base/entry_keys.rb +6 -1
- data/lib/avm/instances/docker_image.rb +15 -0
- data/lib/avm/instances/entries.rb +0 -1
- data/lib/avm/instances/entry.rb +3 -2
- data/lib/avm/instances/entry_keys.rb +1 -0
- data/lib/avm/launcher/context.rb +1 -1
- data/lib/avm/launcher/git/publish_base.rb +3 -1
- data/lib/avm/launcher/git/warp_base.rb +11 -0
- data/lib/avm/launcher/instances/base.rb +2 -1
- data/lib/avm/launcher/instances/error.rb +1 -3
- data/lib/avm/launcher/ruby/gem/build.rb +1 -1
- data/lib/avm/projects/stereotype/job_comparator.rb +32 -0
- data/lib/avm/projects/stereotypes/git/update.rb +1 -2
- data/lib/avm/projects/stereotypes/ruby_gem/local_project_mixin.rb +2 -2
- data/lib/avm/projects/stereotypes/ruby_gem/publish.rb +1 -1
- data/lib/avm/projects/stereotypes/ruby_gem/update.rb +4 -0
- data/lib/avm/self.rb +9 -0
- data/lib/avm/self/instance.rb +4 -0
- data/lib/avm/tools/runner.rb +4 -0
- data/lib/avm/tools/runner/app_src/version_bump.rb +3 -3
- data/lib/avm/tools/runner/config/load_path.rb +4 -3
- data/lib/avm/tools/runner/eac_redmine_base0/dev_docker.rb +17 -0
- data/lib/avm/tools/runner/eac_redmine_base0/docker.rb +3 -0
- data/lib/avm/tools/runner/git/auto_commit.rb +1 -0
- data/lib/avm/tools/runner/git/deploy.rb +2 -1
- data/lib/avm/tools/runner/git/issue.rb +4 -75
- data/lib/avm/tools/runner/git/issue/complete.rb +79 -0
- data/lib/avm/tools/runner/git/issue/deliver.rb +35 -0
- data/lib/avm/tools/runner/git/organize.rb +1 -1
- data/lib/avm/tools/version.rb +1 -1
- data/template/avm/eac_redmine_base0/docker_image/Dockerfile.template +47 -0
- data/template/avm/eac_redmine_base0/docker_image/apache_http_virtualhost.conf.template +10 -0
- data/template/avm/eac_redmine_base0/docker_image/apache_https_virtualhost.conf.template +16 -0
- data/template/avm/eac_redmine_base0/docker_image/install_settings.sh.template +29 -0
- data/template/avm/eac_redmine_base0/docker_image/start.sh.template +25 -0
- data/template/avm/eac_ubuntu_base0/docker_image/Dockerfile +1 -1
- data/vendor/avm-apps/avm-apps.gemspec +1 -1
- data/vendor/avm-apps/lib/avm/apps/config.rb +19 -0
- data/vendor/avm-apps/lib/avm/apps/jobs/base.rb +1 -1
- data/vendor/avm-apps/lib/avm/apps/version.rb +1 -1
- data/vendor/avm-eac_rails_base1/Gemfile +5 -0
- data/vendor/avm-eac_rails_base1/avm-eac_rails_base1.gemspec +19 -0
- data/{lib → vendor/avm-eac_rails_base1/lib}/avm/eac_rails_base1.rb +0 -0
- data/{lib → vendor/avm-eac_rails_base1/lib}/avm/eac_rails_base1/apache_host.rb +0 -0
- data/{lib → vendor/avm-eac_rails_base1/lib}/avm/eac_rails_base1/instance.rb +0 -0
- data/{lib → vendor/avm-eac_rails_base1/lib}/avm/eac_rails_base1/runner.rb +0 -0
- data/{lib → vendor/avm-eac_rails_base1/lib}/avm/eac_rails_base1/runner/bundle.rb +1 -2
- data/{lib → vendor/avm-eac_rails_base1/lib}/avm/eac_rails_base1/runner/code_runner.rb +0 -0
- data/{lib → vendor/avm-eac_rails_base1/lib}/avm/eac_rails_base1/runner/log.rb +0 -0
- data/vendor/avm-eac_rails_base1/lib/avm/eac_rails_base1/runner/logs.rb +18 -0
- data/vendor/avm-eac_rails_base1/lib/avm/eac_rails_base1/runner/logs/clear.rb +26 -0
- data/{lib → vendor/avm-eac_rails_base1/lib}/avm/eac_rails_base1/runner/rails_server.rb +0 -0
- data/{lib → vendor/avm-eac_rails_base1/lib}/avm/eac_rails_base1/runner_with/bundle.rb +0 -0
- data/{lib → vendor/avm-eac_rails_base1/lib}/avm/eac_rails_base1/runner_with/rails_environment.rb +0 -0
- data/vendor/avm-eac_rails_base1/lib/avm/eac_rails_base1/version.rb +7 -0
- data/vendor/avm-eac_rails_base1/spec/rubocop_spec.rb +3 -0
- data/vendor/avm-eac_rails_base1/spec/spec_helper.rb +102 -0
- data/vendor/avm-eac_webapp_base0/Gemfile +5 -0
- data/vendor/avm-eac_webapp_base0/avm-eac_webapp_base0.gemspec +19 -0
- data/{lib → vendor/avm-eac_webapp_base0/lib}/avm/eac_webapp_base0.rb +2 -2
- data/{lib → vendor/avm-eac_webapp_base0/lib}/avm/eac_webapp_base0/apache_host.rb +0 -0
- data/{lib → vendor/avm-eac_webapp_base0/lib}/avm/eac_webapp_base0/apache_path.rb +0 -0
- data/{lib → vendor/avm-eac_webapp_base0/lib}/avm/eac_webapp_base0/deploy.rb +0 -0
- data/{lib → vendor/avm-eac_webapp_base0/lib}/avm/eac_webapp_base0/deploy/appended_directories.rb +0 -0
- data/{lib → vendor/avm-eac_webapp_base0/lib}/avm/eac_webapp_base0/deploy/build.rb +0 -0
- data/{lib → vendor/avm-eac_webapp_base0/lib}/avm/eac_webapp_base0/deploy/file_unit.rb +0 -0
- data/{lib → vendor/avm-eac_webapp_base0/lib}/avm/eac_webapp_base0/deploy/git_info.rb +0 -0
- data/{lib → vendor/avm-eac_webapp_base0/lib}/avm/eac_webapp_base0/deploy/version.rb +0 -0
- data/{lib → vendor/avm-eac_webapp_base0/lib}/avm/eac_webapp_base0/deploy/write_on_target.rb +0 -0
- data/{lib → vendor/avm-eac_webapp_base0/lib}/avm/eac_webapp_base0/instance.rb +0 -0
- data/{lib → vendor/avm-eac_webapp_base0/lib}/avm/eac_webapp_base0/instance/subcommand_parent.rb +0 -0
- data/{lib → vendor/avm-eac_webapp_base0/lib}/avm/eac_webapp_base0/runner.rb +0 -0
- data/{lib → vendor/avm-eac_webapp_base0/lib}/avm/eac_webapp_base0/runner/apache_host.rb +0 -0
- data/{lib → vendor/avm-eac_webapp_base0/lib}/avm/eac_webapp_base0/runner/apache_path.rb +0 -0
- data/{lib → vendor/avm-eac_webapp_base0/lib}/avm/eac_webapp_base0/runner/data.rb +0 -0
- data/{lib → vendor/avm-eac_webapp_base0/lib}/avm/eac_webapp_base0/runner/data/dump.rb +0 -0
- data/{lib → vendor/avm-eac_webapp_base0/lib}/avm/eac_webapp_base0/runner/data/load.rb +0 -0
- data/{lib → vendor/avm-eac_webapp_base0/lib}/avm/eac_webapp_base0/runner/deploy.rb +0 -0
- data/vendor/avm-eac_webapp_base0/lib/avm/eac_webapp_base0/version.rb +7 -0
- data/vendor/avm-eac_webapp_base0/spec/rubocop_spec.rb +3 -0
- data/vendor/avm-eac_webapp_base0/spec/spec_helper.rb +102 -0
- data/vendor/avm/Gemfile +5 -0
- data/vendor/avm/avm.gemspec +19 -0
- data/vendor/avm/lib/avm.rb +7 -0
- data/vendor/avm/lib/avm/docker.rb +9 -0
- data/{lib → vendor/avm/lib}/avm/docker/container.rb +5 -5
- data/{lib → vendor/avm/lib}/avm/docker/image.rb +10 -27
- data/{lib → vendor/avm/lib}/avm/docker/runner.rb +34 -8
- data/vendor/avm/lib/avm/version.rb +5 -0
- data/{lib/avm/version.rb → vendor/avm/lib/avm/version_number.rb} +1 -1
- data/vendor/avm/spec/rubocop_spec.rb +3 -0
- data/vendor/avm/spec/spec_helper.rb +102 -0
- data/vendor/eac_cli/eac_cli.gemspec +1 -2
- data/vendor/eac_cli/lib/eac_cli/config.rb +1 -2
- data/vendor/eac_cli/lib/eac_cli/config/entry.rb +3 -1
- data/vendor/eac_cli/lib/eac_cli/config/entry/undefined.rb +1 -1
- data/vendor/eac_cli/lib/eac_cli/definition/help_formatter.rb +3 -2
- data/vendor/eac_cli/lib/eac_cli/definition/positional_argument.rb +6 -1
- data/vendor/eac_cli/lib/eac_cli/old_configs.rb +0 -1
- data/vendor/eac_cli/lib/eac_cli/old_configs/entry_reader.rb +2 -2
- data/vendor/eac_cli/lib/eac_cli/old_configs_bridge.rb +2 -0
- data/vendor/eac_cli/lib/eac_cli/runner.rb +0 -2
- data/vendor/eac_cli/lib/eac_cli/runner/after_class_methods.rb +20 -3
- data/vendor/eac_cli/lib/eac_cli/runner/instance_methods.rb +5 -1
- data/vendor/eac_cli/lib/eac_cli/runner_with/help.rb +9 -4
- data/vendor/eac_cli/lib/eac_cli/runner_with/help/builder.rb +73 -0
- data/vendor/eac_cli/lib/eac_cli/runner_with/help/builder/alternative.rb +56 -0
- data/vendor/eac_cli/lib/eac_cli/runner_with/subcommands.rb +6 -4
- data/vendor/eac_cli/lib/eac_cli/speaker.rb +15 -19
- data/vendor/eac_cli/lib/eac_cli/speaker/_constants.rb +1 -1
- data/vendor/eac_cli/lib/eac_cli/speaker/list.rb +1 -1
- data/vendor/eac_cli/lib/eac_cli/speaker/options.rb +38 -0
- data/vendor/eac_cli/lib/eac_cli/version.rb +1 -1
- data/vendor/eac_cli/spec/lib/eac_cli/parser/alternative_spec.rb +1 -1
- data/vendor/eac_cli/spec/lib/eac_cli/runner_spec.rb +0 -1
- data/vendor/eac_cli/spec/lib/eac_cli/speaker_spec.rb +5 -9
- data/vendor/eac_config/lib/eac_config/node.rb +7 -0
- data/vendor/eac_config/lib/eac_config/version.rb +1 -1
- data/vendor/eac_git/lib/eac_git/executables.rb +4 -0
- data/vendor/eac_git/lib/eac_git/local.rb +5 -1
- data/vendor/eac_git/lib/eac_git/local/commit/archive.rb +19 -0
- data/vendor/eac_git/lib/eac_git/local/subrepo.rb +2 -1
- data/vendor/eac_git/lib/eac_git/version.rb +1 -1
- data/vendor/eac_ruby_base0/eac_ruby_base0.gemspec +2 -2
- data/vendor/eac_ruby_base0/lib/eac_ruby_base0/application.rb +23 -9
- data/vendor/eac_ruby_base0/lib/eac_ruby_base0/application_xdg.rb +34 -0
- data/vendor/eac_ruby_base0/lib/eac_ruby_base0/jobs_runner.rb +2 -2
- data/vendor/eac_ruby_base0/lib/eac_ruby_base0/runner.rb +19 -7
- data/vendor/eac_ruby_base0/lib/eac_ruby_base0/runner_with/confirmation.rb +8 -1
- data/vendor/eac_ruby_base0/lib/eac_ruby_base0/version.rb +1 -1
- data/vendor/eac_ruby_gems_utils/eac_ruby_gems_utils.gemspec +1 -1
- data/vendor/eac_ruby_gems_utils/lib/eac_ruby_gems_utils/tests/multiple/decorated_gem.rb +2 -0
- data/vendor/eac_ruby_gems_utils/lib/eac_ruby_gems_utils/version.rb +1 -1
- data/vendor/eac_ruby_utils/lib/eac_ruby_utils/context.rb +31 -0
- data/vendor/eac_ruby_utils/lib/eac_ruby_utils/contextualizable.rb +21 -0
- data/vendor/eac_ruby_utils/lib/eac_ruby_utils/patches/module/context.rb +11 -0
- data/vendor/eac_ruby_utils/lib/eac_ruby_utils/patches/module/speaker.rb +9 -0
- data/vendor/eac_ruby_utils/lib/eac_ruby_utils/patches/pathname/parent_n.rb +11 -0
- data/vendor/eac_ruby_utils/lib/eac_ruby_utils/simple_cache.rb +10 -2
- data/vendor/eac_ruby_utils/lib/eac_ruby_utils/speaker.rb +16 -0
- data/vendor/eac_ruby_utils/lib/eac_ruby_utils/speaker/receiver.rb +57 -0
- data/vendor/eac_ruby_utils/lib/eac_ruby_utils/speaker/sender.rb +32 -0
- data/vendor/eac_ruby_utils/lib/eac_ruby_utils/version.rb +1 -1
- data/vendor/{eac_cli/spec/lib → eac_ruby_utils/spec/lib/eac_ruby_utils/patches}/module/speaker_spec.rb +2 -2
- data/vendor/eac_ruby_utils/spec/lib/eac_ruby_utils/patches/pathname/parent_n_spec.rb +33 -0
- data/vendor/eac_ruby_utils/spec/lib/eac_ruby_utils/simple_cache_spec.rb +18 -0
- data/vendor/eac_templates/eac_templates.gemspec +1 -1
- data/vendor/eac_templates/lib/eac_templates/variable_providers.rb +1 -1
- data/vendor/eac_templates/lib/eac_templates/variable_providers/config_reader.rb +27 -0
- data/vendor/eac_templates/lib/eac_templates/version.rb +1 -1
- metadata +106 -65
- data/lib/avm/configs.rb +0 -26
- data/lib/avm/docker.rb +0 -9
- data/lib/avm/docker/registry.rb +0 -28
- data/lib/avm/git/issue/complete/_commits.rb +0 -40
- data/lib/avm/git/issue/complete/_git_subrepos.rb +0 -21
- data/lib/avm/git/issue/complete/_local_branch.rb +0 -52
- data/lib/avm/git/issue/complete/_local_tag.rb +0 -37
- data/lib/avm/git/issue/complete/_push.rb +0 -52
- data/lib/avm/git/issue/complete/_remote.rb +0 -31
- data/lib/avm/git/issue/complete/_test.rb +0 -43
- data/lib/avm/git/issue/complete/_tracker.rb +0 -26
- data/lib/avm/git/issue/complete/_validations.rb +0 -51
- data/lib/avm/git/issue/complete/_working_tree.rb +0 -17
- data/vendor/eac_cli/lib/eac_cli/docopt/doc_builder.rb +0 -71
- data/vendor/eac_cli/lib/eac_cli/docopt/doc_builder/alternative.rb +0 -50
- data/vendor/eac_cli/lib/eac_cli/docopt/runner_context_replacement.rb +0 -15
- data/vendor/eac_cli/lib/eac_cli/docopt/runner_extension.rb +0 -51
- data/vendor/eac_cli/lib/eac_cli/docopt_runner.rb +0 -38
- data/vendor/eac_cli/lib/eac_cli/docopt_runner/_class_methods.rb +0 -16
- data/vendor/eac_cli/lib/eac_cli/docopt_runner/_doc.rb +0 -23
- data/vendor/eac_cli/lib/eac_cli/docopt_runner/_settings.rb +0 -17
- data/vendor/eac_cli/lib/eac_cli/docopt_runner/_subcommands.rb +0 -152
- data/vendor/eac_cli/lib/eac_cli/docopt_runner/context.rb +0 -18
- data/vendor/eac_cli/lib/eac_cli/patches/module.rb +0 -4
- data/vendor/eac_cli/lib/eac_cli/patches/module/speaker.rb +0 -10
- data/vendor/eac_cli/lib/eac_cli/speaker/_class_methods.rb +0 -37
- data/vendor/eac_cli/lib/eac_cli/speaker/node.rb +0 -24
- data/vendor/eac_cli/spec/lib/eac_cli/docopt/runner_extension_spec.rb +0 -35
- data/vendor/eac_cli/spec/lib/eac_cli/docopt_runner_spec.rb +0 -136
@@ -1,6 +1,6 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
|
3
|
-
require 'avm/
|
3
|
+
require 'avm/version_number'
|
4
4
|
require 'eac_cli/core_ext'
|
5
5
|
|
6
6
|
module Avm
|
@@ -44,7 +44,7 @@ module Avm
|
|
44
44
|
end
|
45
45
|
|
46
46
|
def confirm?
|
47
|
-
parsed.yes? ||
|
47
|
+
parsed.yes? || input('Confirm version bump?', bool: true)
|
48
48
|
end
|
49
49
|
|
50
50
|
def current_version_uncached
|
@@ -63,7 +63,7 @@ module Avm
|
|
63
63
|
end
|
64
64
|
|
65
65
|
def target_version_from_new(_current, option_value)
|
66
|
-
::Avm::
|
66
|
+
::Avm::VersionNumber.new(option_value)
|
67
67
|
end
|
68
68
|
|
69
69
|
def target_version_from_segment(current, option_value)
|
@@ -1,5 +1,6 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
|
3
|
+
require 'avm/apps/config'
|
3
4
|
require 'avm/self'
|
4
5
|
require 'avm/core_ext'
|
5
6
|
|
@@ -20,9 +21,9 @@ module Avm
|
|
20
21
|
|
21
22
|
private
|
22
23
|
|
23
|
-
# @return [[EacCli::
|
24
|
+
# @return [[EacCli::Config]]
|
24
25
|
def config_node
|
25
|
-
::Avm.
|
26
|
+
::Avm::Apps::Config.current
|
26
27
|
end
|
27
28
|
|
28
29
|
def run_add
|
@@ -34,7 +35,7 @@ module Avm
|
|
34
35
|
end
|
35
36
|
|
36
37
|
def run_show
|
37
|
-
infov 'Configuration path', config_node.
|
38
|
+
infov 'Configuration path', config_node.url
|
38
39
|
infov 'Paths included', config_node.self_loaded_nodes.count
|
39
40
|
config_node.self_loaded_nodes.each do |loaded_node|
|
40
41
|
infov ' * ', loaded_node.url
|
@@ -0,0 +1,17 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require 'avm/docker/runner'
|
4
|
+
|
5
|
+
module Avm
|
6
|
+
module Tools
|
7
|
+
class Runner
|
8
|
+
class EacRedmineBase0 < ::Avm::EacRailsBase1::Runner
|
9
|
+
class DevDocker < ::Avm::Docker::Runner
|
10
|
+
def docker_image
|
11
|
+
::Avm::EacUbuntuBase0::DockerImage
|
12
|
+
end
|
13
|
+
end
|
14
|
+
end
|
15
|
+
end
|
16
|
+
end
|
17
|
+
end
|
@@ -1,5 +1,6 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
|
3
|
+
require 'avm/apps/config'
|
3
4
|
require 'avm/launcher/git/base'
|
4
5
|
require 'avm/git/commit'
|
5
6
|
|
@@ -90,7 +91,7 @@ module Avm
|
|
90
91
|
end
|
91
92
|
|
92
93
|
def variables_source
|
93
|
-
instance || ::Avm.
|
94
|
+
instance || ::Avm::Apps::Config.current
|
94
95
|
end
|
95
96
|
|
96
97
|
def instance_uncached
|
@@ -8,81 +8,10 @@ module Avm
|
|
8
8
|
class Runner
|
9
9
|
class Git
|
10
10
|
class Issue
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
arg_opt '-s', '--skip-validations', 'Does not validate conditions on <validations>' \
|
16
|
-
' (Comma separated value).'
|
17
|
-
bool_opt '--complete', 'Run complete task.'
|
18
|
-
bool_opt '--deliver', 'Run "deliver" task.'
|
19
|
-
bool_opt '--validate', 'Validate for "complete" task.'
|
20
|
-
end
|
21
|
-
|
22
|
-
def run
|
23
|
-
run_validate if parsed.validate?
|
24
|
-
run_deliver if parsed.deliver?
|
25
|
-
run_complete if parsed.complete?
|
26
|
-
success('Done!')
|
27
|
-
end
|
28
|
-
|
29
|
-
def help_extra_text
|
30
|
-
"Validations:\n#{doc_validations_list}"
|
31
|
-
end
|
32
|
-
|
33
|
-
def run_validate
|
34
|
-
complete.start_banner
|
35
|
-
return true if complete.valid?
|
36
|
-
|
37
|
-
uncomplete_message('Some validation did not pass')
|
38
|
-
end
|
39
|
-
|
40
|
-
def run_complete
|
41
|
-
return complete.run if confirm?('Confirm issue completion?')
|
42
|
-
|
43
|
-
uncomplete_message('Issue was not completed')
|
44
|
-
end
|
45
|
-
|
46
|
-
def run_deliver
|
47
|
-
deliver.start_banner
|
48
|
-
return deliver.run if confirm?('Confirm issue delivery?')
|
49
|
-
|
50
|
-
uncomplete_message('Issue was not delivered')
|
51
|
-
end
|
52
|
-
|
53
|
-
private
|
54
|
-
|
55
|
-
def complete_uncached
|
56
|
-
::Avm::Git::Issue::Complete.new(git_complete_issue_options)
|
57
|
-
end
|
58
|
-
|
59
|
-
def deliver_uncached
|
60
|
-
::Avm::Git::Issue::Deliver.new(runner_context.call(:git_repo))
|
61
|
-
end
|
62
|
-
|
63
|
-
def skip_validations
|
64
|
-
parsed.skip_validations.to_s.split(',').map(&:strip).reject(&:blank?)
|
65
|
-
end
|
66
|
-
|
67
|
-
def git_complete_issue_options
|
68
|
-
{ dir: runner_context.call(:repository_path), skip_validations: skip_validations }
|
69
|
-
end
|
70
|
-
|
71
|
-
def doc_validations_list
|
72
|
-
::Avm::Git::Issue::Complete::VALIDATIONS.keys.map { |k| " * #{k}" }.join("\n")
|
73
|
-
end
|
74
|
-
|
75
|
-
def uncomplete_unfail?
|
76
|
-
parsed.uncomplete_unfail?
|
77
|
-
end
|
78
|
-
|
79
|
-
def uncomplete_message(message)
|
80
|
-
if uncomplete_unfail?
|
81
|
-
warn(message)
|
82
|
-
else
|
83
|
-
fatal_error(message)
|
84
|
-
end
|
85
|
-
false
|
11
|
+
require_sub __FILE__
|
12
|
+
runner_with :help, :subcommands do
|
13
|
+
desc 'Issue operations within Git.'
|
14
|
+
subcommands
|
86
15
|
end
|
87
16
|
end
|
88
17
|
end
|
@@ -0,0 +1,79 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require 'avm/core_ext'
|
4
|
+
require 'avm/git/issue/complete'
|
5
|
+
|
6
|
+
module Avm
|
7
|
+
module Tools
|
8
|
+
class Runner
|
9
|
+
class Git
|
10
|
+
class Issue
|
11
|
+
class Complete
|
12
|
+
runner_with :confirmation, :help do
|
13
|
+
desc 'Closes a issue in a Git repository.'
|
14
|
+
bool_opt '-f', '--uncomplete-unfail', 'Do not exit with error if issue is not' \
|
15
|
+
' completed or is invalid.'
|
16
|
+
arg_opt '-s', '--skip-validations', 'Does not validate conditions on <validations>' \
|
17
|
+
' (Comma separated value).'
|
18
|
+
end
|
19
|
+
|
20
|
+
def run
|
21
|
+
return unless run_validate
|
22
|
+
return unless run_complete
|
23
|
+
|
24
|
+
success('Done!')
|
25
|
+
end
|
26
|
+
|
27
|
+
def help_extra_text
|
28
|
+
"Validations:\n#{doc_validations_list}"
|
29
|
+
end
|
30
|
+
|
31
|
+
def run_validate
|
32
|
+
complete.start_banner
|
33
|
+
return true if complete.valid?
|
34
|
+
|
35
|
+
uncomplete_message('Some validation did not pass')
|
36
|
+
end
|
37
|
+
|
38
|
+
def run_complete
|
39
|
+
return complete.run if confirm?('Confirm issue completion?')
|
40
|
+
|
41
|
+
uncomplete_message('Issue was not completed')
|
42
|
+
end
|
43
|
+
|
44
|
+
private
|
45
|
+
|
46
|
+
def complete_uncached
|
47
|
+
::Avm::Git::Issue::Complete.new(git_complete_issue_options)
|
48
|
+
end
|
49
|
+
|
50
|
+
def skip_validations
|
51
|
+
parsed.skip_validations.to_s.split(',').map(&:strip).reject(&:blank?)
|
52
|
+
end
|
53
|
+
|
54
|
+
def git_complete_issue_options
|
55
|
+
{ dir: runner_context.call(:repository_path), skip_validations: skip_validations }
|
56
|
+
end
|
57
|
+
|
58
|
+
def doc_validations_list
|
59
|
+
::Avm::Git::Issue::Complete::VALIDATIONS.keys.map { |k| " * #{k}" }.join("\n")
|
60
|
+
end
|
61
|
+
|
62
|
+
def uncomplete_unfail?
|
63
|
+
parsed.uncomplete_unfail?
|
64
|
+
end
|
65
|
+
|
66
|
+
def uncomplete_message(message)
|
67
|
+
if uncomplete_unfail?
|
68
|
+
warn(message)
|
69
|
+
else
|
70
|
+
fatal_error(message)
|
71
|
+
end
|
72
|
+
false
|
73
|
+
end
|
74
|
+
end
|
75
|
+
end
|
76
|
+
end
|
77
|
+
end
|
78
|
+
end
|
79
|
+
end
|
@@ -0,0 +1,35 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require 'avm/core_ext'
|
4
|
+
require 'avm/git/issue/deliver'
|
5
|
+
|
6
|
+
module Avm
|
7
|
+
module Tools
|
8
|
+
class Runner
|
9
|
+
class Git
|
10
|
+
class Issue
|
11
|
+
class Deliver
|
12
|
+
runner_with :confirmation, :help do
|
13
|
+
desc 'Deliver a issue in a Git repository.'
|
14
|
+
end
|
15
|
+
|
16
|
+
def run
|
17
|
+
deliver.start_banner
|
18
|
+
if confirm?('Confirm issue delivery?')
|
19
|
+
deliver.run
|
20
|
+
else
|
21
|
+
fatal_error 'Issue undelivered'
|
22
|
+
end
|
23
|
+
end
|
24
|
+
|
25
|
+
private
|
26
|
+
|
27
|
+
def deliver_uncached
|
28
|
+
::Avm::Git::Issue::Deliver.new(runner_context.call(:git_repo))
|
29
|
+
end
|
30
|
+
end
|
31
|
+
end
|
32
|
+
end
|
33
|
+
end
|
34
|
+
end
|
35
|
+
end
|
data/lib/avm/tools/version.rb
CHANGED
@@ -0,0 +1,47 @@
|
|
1
|
+
FROM ubuntu:20.04
|
2
|
+
RUN apt-get update -y
|
3
|
+
RUN DEBIAN_FRONTEND=noninteractive apt-get install -y sudo tzdata git apt-utils
|
4
|
+
RUN ln -fs /usr/share/zoneinfo/America/Sao_Paulo /etc/localtime
|
5
|
+
RUN dpkg-reconfigure --frontend noninteractive tzdata
|
6
|
+
|
7
|
+
# Usuário "%%redmine_user%%"
|
8
|
+
RUN /usr/sbin/useradd --shell /bin/bash --home-dir '%%redmine_user_home%%' --create-home '%%redmine_user%%'
|
9
|
+
RUN /bin/echo '%%redmine_user%%:%%redmine_user%%' | /usr/sbin/chpasswd
|
10
|
+
RUN /bin/chown '%%redmine_user%%:%%redmine_user%%' %%redmine_user_home%% -R
|
11
|
+
RUN /bin/echo "%%redmine_user%% ALL=(ALL) NOPASSWD:ALL" > /etc/sudoers.d/%%redmine_user%%_all_nopasswd && chmod 0440 /etc/sudoers.d/%%redmine_user%%_all_nopasswd
|
12
|
+
|
13
|
+
# Redmine / Código-fonte
|
14
|
+
RUN echo '%%redmine_source_git_id%%' '%%redmine_user_home%%/redmine_source_git_id'
|
15
|
+
ADD '%%redmine_source_path%%' '%%redmine_path%%/'
|
16
|
+
RUN chown -R '%%redmine_user%%:%%redmine_user%%' '%%redmine_user_home%%'
|
17
|
+
|
18
|
+
# Redmine / Configuração de instalação
|
19
|
+
USER '%%redmine_user%%'
|
20
|
+
WORKDIR '%%redmine_user_home%%'
|
21
|
+
COPY install_settings.sh "%%redmine_path%%/config/install.sh"
|
22
|
+
|
23
|
+
# Redmine / Instalação
|
24
|
+
USER '%%redmine_user%%'
|
25
|
+
WORKDIR '%%redmine_user_home%%'
|
26
|
+
RUN '%%redmine_path%%/plugins/redmine_installer/installer/run.sh' redmine_as_apache_base
|
27
|
+
|
28
|
+
# Apache / Configuração do virtualhost
|
29
|
+
COPY apache_http_virtualhost.conf /etc/apache2/sites-available/redmine.conf
|
30
|
+
COPY apache_https_virtualhost.conf /etc/apache2/sites-available/redmine_ssl.conf
|
31
|
+
USER root
|
32
|
+
RUN a2ensite redmine
|
33
|
+
RUN a2ensite redmine_ssl
|
34
|
+
RUN a2dissite 000-default
|
35
|
+
RUN a2enmod ssl
|
36
|
+
RUN service apache2 restart
|
37
|
+
|
38
|
+
# Portas
|
39
|
+
EXPOSE 80/tcp 443/tcp 22/tcp
|
40
|
+
|
41
|
+
# Execução
|
42
|
+
COPY start.sh '%%start_path%%'
|
43
|
+
RUN /bin/chmod +x '%%start_path%%'
|
44
|
+
RUN /bin/chown '%%redmine_user%%:%%redmine_user%%' '%%start_path%%'
|
45
|
+
USER '%%redmine_user%%'
|
46
|
+
WORKDIR '%%redmine_user_home%%'
|
47
|
+
ENTRYPOINT '%%start_path%%'
|
@@ -0,0 +1,16 @@
|
|
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>
|
@@ -0,0 +1,29 @@
|
|
1
|
+
# Database (PostgreSQL)
|
2
|
+
export postgresql_database=redmine
|
3
|
+
export postgresql_database_test=redmine_test
|
4
|
+
export postgresql_user=redmine
|
5
|
+
export postgresql_password=redmine
|
6
|
+
|
7
|
+
# Git hosting
|
8
|
+
export gitolite_user=git
|
9
|
+
export gitolite_user_home="/var/lib/$gitolite_user"
|
10
|
+
export redmine_git_hosting_ssh_key_name=redmine_git_hosting_id
|
11
|
+
export git_repositories_hierarchical_organisation=false
|
12
|
+
|
13
|
+
# Address
|
14
|
+
export address_https=false
|
15
|
+
export address_host="%%web.hostname%%"
|
16
|
+
export address_port=
|
17
|
+
export address_path=
|
18
|
+
|
19
|
+
# Mail
|
20
|
+
export smtp_server='mail.trf1.jus.br'
|
21
|
+
export smtp_port='25'
|
22
|
+
export smtp_domain='trf1.jus.br'
|
23
|
+
export smtp_tls='false'
|
24
|
+
export smtp_enable_starttls_auto=''
|
25
|
+
export smtp_openssl_verify_mode=''
|
26
|
+
export smtp_authentication='none'
|
27
|
+
export smtp_username=''
|
28
|
+
export smtp_password=''
|
29
|
+
export mail_from='"redmine-trf1_0" <redmine@trf1.jus.br>'
|
@@ -0,0 +1,25 @@
|
|
1
|
+
#!/bin/bash
|
2
|
+
|
3
|
+
set -u
|
4
|
+
set -e
|
5
|
+
|
6
|
+
function title() {
|
7
|
+
printf ">>>> %s <<<<\n" "$1"
|
8
|
+
}
|
9
|
+
|
10
|
+
title 'Restarting Apache HTTPD service...'
|
11
|
+
sudo service apache2 restart
|
12
|
+
|
13
|
+
title 'Restarting SSH service...'
|
14
|
+
sudo service ssh restart
|
15
|
+
|
16
|
+
title 'Restarting PostgresSQL service...'
|
17
|
+
sudo service postgresql restart
|
18
|
+
|
19
|
+
title 'Requesting web interface...'
|
20
|
+
wget 'http://localhost' &> /dev/null
|
21
|
+
|
22
|
+
title 'Reading production log...'
|
23
|
+
LOG_FILE='%%redmine_path%%/log/production.log'
|
24
|
+
printf " * tail -f \"$LOG_FILE\":\n"
|
25
|
+
sudo tail -f "$LOG_FILE"
|