redmine-installer 1.0.0

Sign up to get free protection for your applications and to get access to all the features.
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: