redmine-installer 1.0.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.
Files changed (51) hide show
  1. checksums.yaml +7 -0
  2. data/.gitignore +25 -0
  3. data/Gemfile +19 -0
  4. data/LICENSE.txt +22 -0
  5. data/README.md +273 -0
  6. data/Rakefile +7 -0
  7. data/bin/redmine +8 -0
  8. data/lib/redmine-installer.rb +72 -0
  9. data/lib/redmine-installer/backup.rb +48 -0
  10. data/lib/redmine-installer/cli.rb +90 -0
  11. data/lib/redmine-installer/command.rb +142 -0
  12. data/lib/redmine-installer/config_param.rb +90 -0
  13. data/lib/redmine-installer/error.rb +5 -0
  14. data/lib/redmine-installer/exec.rb +158 -0
  15. data/lib/redmine-installer/ext/module.rb +7 -0
  16. data/lib/redmine-installer/ext/string.rb +15 -0
  17. data/lib/redmine-installer/git.rb +51 -0
  18. data/lib/redmine-installer/helper.rb +5 -0
  19. data/lib/redmine-installer/helpers/generate_config.rb +29 -0
  20. data/lib/redmine-installer/install.rb +56 -0
  21. data/lib/redmine-installer/locales/cs.yml +145 -0
  22. data/lib/redmine-installer/locales/en.yml +146 -0
  23. data/lib/redmine-installer/plugin.rb +9 -0
  24. data/lib/redmine-installer/plugins/base.rb +28 -0
  25. data/lib/redmine-installer/plugins/database.rb +168 -0
  26. data/lib/redmine-installer/plugins/email_sending.rb +82 -0
  27. data/lib/redmine-installer/plugins/redmine_plugin.rb +30 -0
  28. data/lib/redmine-installer/plugins/web_server.rb +26 -0
  29. data/lib/redmine-installer/profile.rb +74 -0
  30. data/lib/redmine-installer/step.rb +15 -0
  31. data/lib/redmine-installer/steps/backup.rb +120 -0
  32. data/lib/redmine-installer/steps/base.rb +60 -0
  33. data/lib/redmine-installer/steps/database_config.rb +15 -0
  34. data/lib/redmine-installer/steps/email_config.rb +11 -0
  35. data/lib/redmine-installer/steps/install.rb +21 -0
  36. data/lib/redmine-installer/steps/load_package.rb +180 -0
  37. data/lib/redmine-installer/steps/move_redmine.rb +22 -0
  38. data/lib/redmine-installer/steps/redmine_root.rb +29 -0
  39. data/lib/redmine-installer/steps/upgrade.rb +55 -0
  40. data/lib/redmine-installer/steps/validation.rb +38 -0
  41. data/lib/redmine-installer/steps/webserver_config.rb +22 -0
  42. data/lib/redmine-installer/task.rb +85 -0
  43. data/lib/redmine-installer/upgrade.rb +68 -0
  44. data/lib/redmine-installer/utils.rb +233 -0
  45. data/lib/redmine-installer/version.rb +5 -0
  46. data/redmine-installer.gemspec +25 -0
  47. data/spec/lib/install_spec.rb +46 -0
  48. data/spec/lib/upgrade_spec.rb +62 -0
  49. data/spec/load_redmine.rb +24 -0
  50. data/spec/spec_helper.rb +30 -0
  51. metadata +130 -0
@@ -0,0 +1,62 @@
1
+ require 'spec_helper'
2
+
3
+ RSpec.describe Redmine::Installer::Upgrade do
4
+
5
+ before(:example) do
6
+ @dir1 = Dir.mktmpdir
7
+ @dir2 = Dir.mktmpdir
8
+ end
9
+
10
+ after(:example) do
11
+ FileUtils.remove_entry_secure(@dir1)
12
+ FileUtils.remove_entry_secure(@dir2)
13
+ end
14
+
15
+ let(:package1) { LoadRedmine.get('2.4.7') }
16
+ let(:package2) { LoadRedmine.get('2.5.0') }
17
+
18
+ context 'mysql' do
19
+ let(:host) { RSpec.configuration.mysql[:host] }
20
+ let(:port) { RSpec.configuration.mysql[:port] }
21
+ let(:username) { RSpec.configuration.mysql[:username] }
22
+ let(:password) { RSpec.configuration.mysql[:password] }
23
+
24
+ before(:example) do
25
+ system("mysql -h #{host} --port #{port} -u #{username} -p#{password} -e 'drop database test1'")
26
+ end
27
+
28
+ it 'install' do
29
+ # redmine root -> tempdir1
30
+ # type of db -> mysql
31
+ # database -> test1
32
+ # host -> configuration
33
+ # username -> configuration
34
+ # password -> configuration
35
+ # encoding -> utf8
36
+ # port -> configuration
37
+ # email configuration -> skip
38
+ # webserver -> skip
39
+
40
+ allow($stdin).to receive(:gets).and_return(
41
+ @dir1, '1', 'test1', host, username, password, 'utf8', port, '999', '999'
42
+ )
43
+
44
+ r_installer = Redmine::Installer::Install.new(package1, {})
45
+ expect { r_installer.run }.to_not raise_error
46
+
47
+
48
+ # redmine root -> tempdir1
49
+ # backup -> backup
50
+ # backup dir -> tempdir2
51
+ # save steps -> yes
52
+
53
+ allow($stdin).to receive(:gets).and_return(
54
+ @dir1, '2', @dir2, 'y'
55
+ )
56
+
57
+ r_upgrader = Redmine::Installer::Upgrade.new(package2, {})
58
+ expect { r_upgrader.run }.to_not raise_error
59
+ end
60
+ end
61
+
62
+ end
@@ -0,0 +1,24 @@
1
+ require 'rest_client'
2
+
3
+ class LoadRedmine
4
+
5
+ def self.files
6
+ @files ||= []
7
+ end
8
+
9
+ def self.clean
10
+ files.each(&:unlink)
11
+ end
12
+
13
+ def self.get(version)
14
+ file = Tempfile.new(['redmine', '.zip'])
15
+ files << file
16
+
17
+ file.binmode
18
+ # file.write RestClient.get("http://www.redmine.org/releases/redmine-#{version}.zip")
19
+ file.write RestClient.get("http://localhost:5000/redmine-#{version}.zip")
20
+ file.close
21
+ file.path
22
+ end
23
+
24
+ end
@@ -0,0 +1,30 @@
1
+ # require 'simplecov'
2
+ # SimpleCov.start
3
+
4
+ require 'tmpdir'
5
+ require 'tempfile'
6
+ require 'fileutils'
7
+
8
+ $LOAD_PATH.unshift File.dirname(__FILE__) + '/../lib'
9
+ require 'redmine-installer'
10
+ require 'load_redmine'
11
+
12
+ I18n.locale = :en
13
+
14
+ RSpec.configure do |config|
15
+ config.default_formatter = 'doc'
16
+ config.color = true
17
+ config.tty = true
18
+
19
+ config.add_setting :mysql
20
+ config.mysql = {
21
+ host: 'localhost',
22
+ port: '3306',
23
+ username: 'root',
24
+ password: 'root'
25
+ }
26
+
27
+ config.after(:suite) do
28
+ LoadRedmine.clean
29
+ end
30
+ end
metadata ADDED
@@ -0,0 +1,130 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: redmine-installer
3
+ version: !ruby/object:Gem::Version
4
+ version: 1.0.0
5
+ platform: ruby
6
+ authors:
7
+ - Ondřej Moravčík
8
+ autorequire:
9
+ bindir: bin
10
+ cert_chain: []
11
+ date: 2014-11-14 00:00:00.000000000 Z
12
+ dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: bundler
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - ~>
18
+ - !ruby/object:Gem::Version
19
+ version: '1.6'
20
+ type: :development
21
+ prerelease: false
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - ~>
25
+ - !ruby/object:Gem::Version
26
+ version: '1.6'
27
+ - !ruby/object:Gem::Dependency
28
+ name: rake
29
+ requirement: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - '>='
32
+ - !ruby/object:Gem::Version
33
+ version: '0'
34
+ type: :development
35
+ prerelease: false
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - '>='
39
+ - !ruby/object:Gem::Version
40
+ version: '0'
41
+ description: |-
42
+ Redmine-installer can fully install/upgrade redmine and will
43
+ generate template for different server. All actions can be saved
44
+ for further use.
45
+ email:
46
+ - moravcik.ondrej@gmail.com
47
+ executables:
48
+ - redmine
49
+ extensions: []
50
+ extra_rdoc_files: []
51
+ files:
52
+ - .gitignore
53
+ - Gemfile
54
+ - LICENSE.txt
55
+ - README.md
56
+ - Rakefile
57
+ - bin/redmine
58
+ - lib/redmine-installer.rb
59
+ - lib/redmine-installer/backup.rb
60
+ - lib/redmine-installer/cli.rb
61
+ - lib/redmine-installer/command.rb
62
+ - lib/redmine-installer/config_param.rb
63
+ - lib/redmine-installer/error.rb
64
+ - lib/redmine-installer/exec.rb
65
+ - lib/redmine-installer/ext/module.rb
66
+ - lib/redmine-installer/ext/string.rb
67
+ - lib/redmine-installer/git.rb
68
+ - lib/redmine-installer/helper.rb
69
+ - lib/redmine-installer/helpers/generate_config.rb
70
+ - lib/redmine-installer/install.rb
71
+ - lib/redmine-installer/locales/cs.yml
72
+ - lib/redmine-installer/locales/en.yml
73
+ - lib/redmine-installer/plugin.rb
74
+ - lib/redmine-installer/plugins/base.rb
75
+ - lib/redmine-installer/plugins/database.rb
76
+ - lib/redmine-installer/plugins/email_sending.rb
77
+ - lib/redmine-installer/plugins/redmine_plugin.rb
78
+ - lib/redmine-installer/plugins/web_server.rb
79
+ - lib/redmine-installer/profile.rb
80
+ - lib/redmine-installer/step.rb
81
+ - lib/redmine-installer/steps/backup.rb
82
+ - lib/redmine-installer/steps/base.rb
83
+ - lib/redmine-installer/steps/database_config.rb
84
+ - lib/redmine-installer/steps/email_config.rb
85
+ - lib/redmine-installer/steps/install.rb
86
+ - lib/redmine-installer/steps/load_package.rb
87
+ - lib/redmine-installer/steps/move_redmine.rb
88
+ - lib/redmine-installer/steps/redmine_root.rb
89
+ - lib/redmine-installer/steps/upgrade.rb
90
+ - lib/redmine-installer/steps/validation.rb
91
+ - lib/redmine-installer/steps/webserver_config.rb
92
+ - lib/redmine-installer/task.rb
93
+ - lib/redmine-installer/upgrade.rb
94
+ - lib/redmine-installer/utils.rb
95
+ - lib/redmine-installer/version.rb
96
+ - redmine-installer.gemspec
97
+ - spec/lib/install_spec.rb
98
+ - spec/lib/upgrade_spec.rb
99
+ - spec/load_redmine.rb
100
+ - spec/spec_helper.rb
101
+ homepage: https://github.com/ondra-m/redmine-installer
102
+ licenses:
103
+ - MIT
104
+ metadata: {}
105
+ post_install_message:
106
+ rdoc_options: []
107
+ require_paths:
108
+ - lib
109
+ required_ruby_version: !ruby/object:Gem::Requirement
110
+ requirements:
111
+ - - '>='
112
+ - !ruby/object:Gem::Version
113
+ version: '0'
114
+ required_rubygems_version: !ruby/object:Gem::Requirement
115
+ requirements:
116
+ - - '>='
117
+ - !ruby/object:Gem::Version
118
+ version: '0'
119
+ requirements: []
120
+ rubyforge_project:
121
+ rubygems_version: 2.0.14
122
+ signing_key:
123
+ specification_version: 4
124
+ summary: Easy way how install/upgrade redmine or plugin.
125
+ test_files:
126
+ - spec/lib/install_spec.rb
127
+ - spec/lib/upgrade_spec.rb
128
+ - spec/load_redmine.rb
129
+ - spec/spec_helper.rb
130
+ has_rdoc: