mina 1.2.4 → 1.2.5
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/.github/workflows/ci.yml +11 -3
- data/.gitignore +0 -1
- data/.rspec +1 -1
- data/.rubocop.yml +28 -1126
- data/CHANGELOG.md +89 -8
- data/Gemfile +2 -0
- data/Gemfile.lock +73 -0
- data/Rakefile +2 -0
- data/Readme.md +8 -12
- data/bin/mina +2 -0
- data/data/deploy.rb +6 -4
- data/docs/3rd_party_plugins.md +1 -0
- data/docs/assets/images/mina.png +0 -0
- data/docs/default_plugins.md +1 -1
- data/docs/how_mina_works.md +2 -2
- data/lib/Minafile +1 -0
- data/lib/mina/application.rb +45 -35
- data/lib/mina/backend/local.rb +2 -0
- data/lib/mina/backend/remote.rb +3 -1
- data/lib/mina/commands.rb +10 -7
- data/lib/mina/configuration.rb +6 -3
- data/lib/mina/dsl.rb +2 -2
- data/lib/mina/helpers/internal.rb +8 -8
- data/lib/mina/helpers/output.rb +5 -3
- data/lib/mina/runner/exec.rb +2 -0
- data/lib/mina/runner/pretty.rb +25 -19
- data/lib/mina/runner/printer.rb +2 -0
- data/lib/mina/runner/system.rb +2 -0
- data/lib/mina/runner.rb +9 -10
- data/lib/mina/version.rb +3 -1
- data/lib/mina/windows_patches.rb +4 -2
- data/lib/mina.rb +4 -3
- data/mina.gemspec +8 -7
- data/spec/configs/default.rb +8 -0
- data/spec/configs/dsl.rb +55 -0
- data/spec/configs/e2e.rb +25 -0
- data/spec/e2e/docker-compose.yml +21 -0
- data/spec/e2e/e2e_run.sh +11 -0
- data/spec/e2e/e2e_spec.rb +35 -0
- data/spec/e2e/ssh +27 -0
- data/spec/e2e/ssh.pub +1 -0
- data/spec/lib/mina/application_spec.rb +94 -35
- data/spec/lib/mina/backend/local_spec.rb +5 -2
- data/spec/lib/mina/backend/remote_spec.rb +5 -3
- data/spec/lib/mina/commands_spec.rb +7 -7
- data/spec/lib/mina/configuration_spec.rb +63 -3
- data/spec/lib/mina/dsl_spec.rb +94 -0
- data/spec/lib/mina/helpers/internal_spec.rb +88 -10
- data/spec/lib/mina/helpers/output_spec.rb +13 -10
- data/spec/lib/mina/runner/exec_spec.rb +19 -0
- data/spec/lib/mina/runner/pretty_spec.rb +17 -0
- data/spec/lib/mina/runner/printer_spec.rb +19 -0
- data/spec/lib/mina/runner/system_spec.rb +19 -0
- data/spec/lib/mina/runner_spec.rb +6 -10
- data/spec/spec_helper.rb +33 -14
- data/spec/support/outputs/bundle_clean.txt +2 -2
- data/spec/support/outputs/chruby_with_env.txt +7 -0
- data/spec/support/outputs/chruby_without_env.txt +2 -0
- data/spec/support/outputs/debug_configuration_variables.txt +11 -0
- data/spec/support/outputs/dsl_deploy.txt +4 -0
- data/spec/support/outputs/dsl_in_path.txt +1 -0
- data/spec/support/outputs/dsl_local_run.txt +5 -0
- data/spec/support/outputs/dsl_on.txt +6 -0
- data/spec/support/outputs/dsl_remote_run.txt +5 -0
- data/spec/support/outputs/dsl_reset.txt +2 -0
- data/spec/support/outputs/e2e_deploy_after_setup.txt +1 -0
- data/spec/support/outputs/e2e_deploy_without_setup.txt +1 -0
- data/spec/support/outputs/e2e_setup.txt +1 -0
- data/spec/support/outputs/environment.txt +1 -0
- data/spec/support/outputs/git_ensure_pushed.txt +15 -0
- data/spec/support/outputs/rails_assets_precompile_force_precompile.txt +2 -0
- data/spec/support/outputs/rails_assets_precompile_outside_deploy_block.txt +1 -0
- data/spec/support/outputs/rails_assets_precompile_with_diff.txt +7 -0
- data/spec/support/outputs/rails_console.txt +1 -0
- data/spec/support/outputs/rails_db_migrate_force_migrate.txt +2 -0
- data/spec/support/outputs/rails_db_migrate_outside_deploy_block.txt +1 -0
- data/spec/support/outputs/rails_db_migrate_with_diff.txt +7 -0
- data/spec/support/outputs/rails_log.txt +1 -0
- data/spec/support/outputs/rails_with_arguments.txt +1 -0
- data/spec/support/outputs/rails_without_arguments.txt +1 -0
- data/spec/support/outputs/rake_with_arguments.txt +1 -0
- data/spec/support/outputs/rake_without_arguments.txt +1 -0
- data/spec/support/outputs/rbenv_load.txt +9 -1
- data/spec/support/outputs/rvm_use_with_env.txt +8 -0
- data/spec/support/outputs/rvm_use_without_env.txt +2 -0
- data/spec/support/outputs/rvm_wrapper_with_arguments.txt +8 -0
- data/spec/support/outputs/rvm_wrapper_without_arguments.txt +2 -0
- data/spec/support/outputs/ry_with_env.txt +13 -0
- data/spec/support/outputs/ry_without_env.txt +13 -0
- data/spec/support/outputs/ssh.txt +1 -0
- data/spec/support/outputs/ssh_keyscan_domain.txt +3 -0
- data/spec/support/rake_example_group.rb +23 -19
- data/spec/tasks/bundler_spec.rb +6 -0
- data/spec/tasks/chruby_spec.rb +29 -0
- data/spec/tasks/default_spec.rb +79 -7
- data/spec/tasks/deploy_spec.rb +6 -0
- data/spec/tasks/git_spec.rb +12 -0
- data/spec/tasks/init_spec.rb +13 -4
- data/spec/tasks/rails_spec.rb +126 -15
- data/spec/tasks/rbenv_spec.rb +15 -0
- data/spec/tasks/rvm_spec.rb +51 -0
- data/spec/tasks/ry_spec.rb +43 -0
- data/tasks/mina/bundler.rb +7 -5
- data/tasks/mina/chruby.rb +7 -5
- data/tasks/mina/default.rb +19 -12
- data/tasks/mina/deploy.rb +26 -24
- data/tasks/mina/git.rb +28 -16
- data/tasks/mina/install.rb +3 -1
- data/tasks/mina/rails.rb +29 -27
- data/tasks/mina/rbenv.rb +8 -6
- data/tasks/mina/rvm.rb +13 -11
- data/tasks/mina/ry.rb +11 -11
- data/test_env/config/deploy.rb +9 -8
- metadata +64 -32
- data/spec/support/outputs/chruby.txt +0 -9
- data/spec/support/outputs/console.txt +0 -1
- data/spec/support/outputs/log.txt +0 -1
- data/spec/support/outputs/rails_db_migrate.txt +0 -1
- data/spec/support/outputs/rvm_use.txt +0 -1
- data/spec/support/outputs/ry.txt +0 -15
- data/spec/tasks/ruby_managers_spec.rb +0 -33
data/CHANGELOG.md
CHANGED
|
@@ -1,6 +1,72 @@
|
|
|
1
|
-
#
|
|
1
|
+
# Changelog
|
|
2
|
+
|
|
3
|
+
## [v1.2.4](https://github.com/mina-deploy/mina/tree/v1.2.4) (2021-08-10)
|
|
4
|
+
|
|
5
|
+
[Full Changelog](https://github.com/mina-deploy/mina/compare/v1.2.3...v1.2.4)
|
|
6
|
+
|
|
7
|
+
**Fixed bugs:**
|
|
8
|
+
|
|
9
|
+
- Make `in_path` tolerate "directory doesn't exist" case [\#587](https://github.com/mina-deploy/mina/issues/587)
|
|
10
|
+
- Different behavior of environment task with 0.3.8 and 1.0.6 [\#505](https://github.com/mina-deploy/mina/issues/505)
|
|
11
|
+
|
|
12
|
+
**Closed issues:**
|
|
13
|
+
|
|
14
|
+
- Mina deploy failed with Rails and Vue? [\#659](https://github.com/mina-deploy/mina/issues/659)
|
|
15
|
+
- Running "mina deploy" failed when "Precompiling asset files", without any detailed error info [\#658](https://github.com/mina-deploy/mina/issues/658)
|
|
16
|
+
- Stuck on "Fetching new git commits" [\#654](https://github.com/mina-deploy/mina/issues/654)
|
|
17
|
+
- remote: Repository not found. fatal: Authentication failed for 'https://:@github.com/usre\_name/repo.git/' [\#649](https://github.com/mina-deploy/mina/issues/649)
|
|
18
|
+
- Error ""The directory 'X' does not exist on the server", run 'mina setup' first! [\#648](https://github.com/mina-deploy/mina/issues/648)
|
|
19
|
+
- git clone "/app/scm" [\#647](https://github.com/mina-deploy/mina/issues/647)
|
|
20
|
+
- fatal: destination path '.' already exists and is not an empty directory. [\#646](https://github.com/mina-deploy/mina/issues/646)
|
|
21
|
+
- Unable to run any rails command in the project server folder [\#645](https://github.com/mina-deploy/mina/issues/645)
|
|
22
|
+
- Is this project alive? [\#642](https://github.com/mina-deploy/mina/issues/642)
|
|
23
|
+
- Why need run\(local\) do block? [\#638](https://github.com/mina-deploy/mina/issues/638)
|
|
24
|
+
- mina init overrides config/deploy.rb [\#634](https://github.com/mina-deploy/mina/issues/634)
|
|
25
|
+
- What's the role of "on :launch do" part of deploy.rb [\#631](https://github.com/mina-deploy/mina/issues/631)
|
|
26
|
+
- Are there release notes for 1.0 [\#630](https://github.com/mina-deploy/mina/issues/630)
|
|
27
|
+
- ArgumentError: invalid byte sequence in US-ASCII when deploying using GitLab CI with Docker [\#629](https://github.com/mina-deploy/mina/issues/629)
|
|
28
|
+
- Git SHA information on deploy or rollback [\#626](https://github.com/mina-deploy/mina/issues/626)
|
|
29
|
+
- \(Doc\) 0 downtime deploy example in Mina document? [\#619](https://github.com/mina-deploy/mina/issues/619)
|
|
30
|
+
- ENV is not loading in production [\#617](https://github.com/mina-deploy/mina/issues/617)
|
|
31
|
+
- how to add `config/database.yml` to shared\_path without an error [\#614](https://github.com/mina-deploy/mina/issues/614)
|
|
32
|
+
- Deploy without using current/shared/releases? [\#613](https://github.com/mina-deploy/mina/issues/613)
|
|
33
|
+
- mina deploy fails [\#612](https://github.com/mina-deploy/mina/issues/612)
|
|
34
|
+
- Feature: Force precompile for webpacker [\#610](https://github.com/mina-deploy/mina/issues/610)
|
|
35
|
+
- SSH Connection [\#608](https://github.com/mina-deploy/mina/issues/608)
|
|
36
|
+
- Connection to closed after mina setup [\#607](https://github.com/mina-deploy/mina/issues/607)
|
|
37
|
+
- NameError: undefined local variable or method `user' for main:Object [\#606](https://github.com/mina-deploy/mina/issues/606)
|
|
38
|
+
- node\_modules in shared\_paths [\#604](https://github.com/mina-deploy/mina/issues/604)
|
|
39
|
+
- mina deploy rails 5.2.0.beta2 [\#602](https://github.com/mina-deploy/mina/issues/602)
|
|
40
|
+
- sudo systemctl restart apache2 [\#598](https://github.com/mina-deploy/mina/issues/598)
|
|
41
|
+
- I got a 'extconf.rb failed' error when mina bundle install [\#597](https://github.com/mina-deploy/mina/issues/597)
|
|
42
|
+
- Is it possible to view or output the generated bash script? [\#596](https://github.com/mina-deploy/mina/issues/596)
|
|
43
|
+
- mina deploy throws error - bundle: command not found ! ERROR: Deploy failed. [\#594](https://github.com/mina-deploy/mina/issues/594)
|
|
44
|
+
- Could you add back set\_default? [\#588](https://github.com/mina-deploy/mina/issues/588)
|
|
45
|
+
- Mina setup doesn't symlink the current folder [\#571](https://github.com/mina-deploy/mina/issues/571)
|
|
46
|
+
- mina deploy Could not locate Gemfile [\#552](https://github.com/mina-deploy/mina/issues/552)
|
|
47
|
+
- SSH to GitLab repository problem [\#533](https://github.com/mina-deploy/mina/issues/533)
|
|
48
|
+
- Does a full bundle install every time [\#516](https://github.com/mina-deploy/mina/issues/516)
|
|
49
|
+
- assets:precompile failed, but deploy succeeded [\#504](https://github.com/mina-deploy/mina/issues/504)
|
|
50
|
+
- Could not find rack-cors-0.4.0 in any of the sources [\#500](https://github.com/mina-deploy/mina/issues/500)
|
|
51
|
+
|
|
52
|
+
**Merged pull requests:**
|
|
53
|
+
|
|
54
|
+
- Test suite CI [\#673](https://github.com/mina-deploy/mina/pull/673) ([lovro-bikic](https://github.com/lovro-bikic))
|
|
55
|
+
- Fixes \#634 [\#650](https://github.com/mina-deploy/mina/pull/650) ([NBuhinicek](https://github.com/NBuhinicek))
|
|
56
|
+
- Fix minor typo in documentation [\#641](https://github.com/mina-deploy/mina/pull/641) ([chartrandf](https://github.com/chartrandf))
|
|
57
|
+
- Update cookbook.md [\#637](https://github.com/mina-deploy/mina/pull/637) ([oliveiradanielm](https://github.com/oliveiradanielm))
|
|
58
|
+
- Update default\_plugins.md [\#635](https://github.com/mina-deploy/mina/pull/635) ([mpearce](https://github.com/mpearce))
|
|
59
|
+
- Update deploy.rb [\#628](https://github.com/mina-deploy/mina/pull/628) ([Ajmal](https://github.com/Ajmal))
|
|
60
|
+
- Added link to mina multideploy plugin [\#627](https://github.com/mina-deploy/mina/pull/627) ([volkov-sergey](https://github.com/volkov-sergey))
|
|
61
|
+
- Add Thinking Sphinx plugin link [\#624](https://github.com/mina-deploy/mina/pull/624) ([airled](https://github.com/airled))
|
|
62
|
+
- Typo 'everyting' [\#599](https://github.com/mina-deploy/mina/pull/599) ([wafiq](https://github.com/wafiq))
|
|
63
|
+
- allow user to overwrite deploy\_script [\#595](https://github.com/mina-deploy/mina/pull/595) ([kuboon](https://github.com/kuboon))
|
|
64
|
+
- Fixes \#506. Problem with git submodules and no master based branches. [\#593](https://github.com/mina-deploy/mina/pull/593) ([platbr](https://github.com/platbr))
|
|
65
|
+
- Fix doc typos. [\#591](https://github.com/mina-deploy/mina/pull/591) ([pweldon](https://github.com/pweldon))
|
|
66
|
+
- Allow setting a custom deploy script [\#585](https://github.com/mina-deploy/mina/pull/585) ([wpolicarpo](https://github.com/wpolicarpo))
|
|
2
67
|
|
|
3
68
|
## [v1.2.3](https://github.com/mina-deploy/mina/tree/v1.2.3) (2017-11-22)
|
|
69
|
+
|
|
4
70
|
[Full Changelog](https://github.com/mina-deploy/mina/compare/v1.2.2...v1.2.3)
|
|
5
71
|
|
|
6
72
|
**Closed issues:**
|
|
@@ -9,20 +75,17 @@
|
|
|
9
75
|
|
|
10
76
|
**Merged pull requests:**
|
|
11
77
|
|
|
12
|
-
- Fix empty stage queue [\#592](https://github.com/mina-deploy/mina/pull/592) ([
|
|
78
|
+
- Fix empty stage queue [\#592](https://github.com/mina-deploy/mina/pull/592) ([fsuste](https://github.com/fsuste))
|
|
13
79
|
- fix typo [\#584](https://github.com/mina-deploy/mina/pull/584) ([MatzFan](https://github.com/MatzFan))
|
|
14
80
|
|
|
15
81
|
## [v1.2.2](https://github.com/mina-deploy/mina/tree/v1.2.2) (2017-10-13)
|
|
82
|
+
|
|
16
83
|
[Full Changelog](https://github.com/mina-deploy/mina/compare/v1.2.1...v1.2.2)
|
|
17
84
|
|
|
18
85
|
**Implemented enhancements:**
|
|
19
86
|
|
|
20
87
|
- Add shared folders validations [\#559](https://github.com/mina-deploy/mina/issues/559)
|
|
21
88
|
|
|
22
|
-
**Fixed bugs:**
|
|
23
|
-
|
|
24
|
-
- Add shared folders validations [\#559](https://github.com/mina-deploy/mina/issues/559)
|
|
25
|
-
|
|
26
89
|
**Closed issues:**
|
|
27
90
|
|
|
28
91
|
- prepend environments when run outside run block [\#576](https://github.com/mina-deploy/mina/issues/576)
|
|
@@ -36,6 +99,7 @@
|
|
|
36
99
|
- Remote environment in deploy example [\#573](https://github.com/mina-deploy/mina/pull/573) ([ozgg](https://github.com/ozgg))
|
|
37
100
|
|
|
38
101
|
## [v1.2.1](https://github.com/mina-deploy/mina/tree/v1.2.1) (2017-10-02)
|
|
102
|
+
|
|
39
103
|
[Full Changelog](https://github.com/mina-deploy/mina/compare/v1.2.0...v1.2.1)
|
|
40
104
|
|
|
41
105
|
**Closed issues:**
|
|
@@ -43,6 +107,7 @@
|
|
|
43
107
|
- Deploy does not work since version 1.2.0 [\#572](https://github.com/mina-deploy/mina/issues/572)
|
|
44
108
|
|
|
45
109
|
## [v1.2.0](https://github.com/mina-deploy/mina/tree/v1.2.0) (2017-09-29)
|
|
110
|
+
|
|
46
111
|
[Full Changelog](https://github.com/mina-deploy/mina/compare/v1.1.1...v1.2.0)
|
|
47
112
|
|
|
48
113
|
**Fixed bugs:**
|
|
@@ -50,9 +115,11 @@
|
|
|
50
115
|
- Fix keyscan\_domain task [\#570](https://github.com/mina-deploy/mina/issues/570)
|
|
51
116
|
|
|
52
117
|
## [v1.1.1](https://github.com/mina-deploy/mina/tree/v1.1.1) (2017-09-29)
|
|
118
|
+
|
|
53
119
|
[Full Changelog](https://github.com/mina-deploy/mina/compare/v1.1.0...v1.1.1)
|
|
54
120
|
|
|
55
121
|
## [v1.1.0](https://github.com/mina-deploy/mina/tree/v1.1.0) (2017-09-29)
|
|
122
|
+
|
|
56
123
|
[Full Changelog](https://github.com/mina-deploy/mina/compare/v1.0.7...v1.1.0)
|
|
57
124
|
|
|
58
125
|
**Implemented enhancements:**
|
|
@@ -91,6 +158,7 @@
|
|
|
91
158
|
- Add skip-existing option to example rbenv install [\#527](https://github.com/mina-deploy/mina/pull/527) ([sunny](https://github.com/sunny))
|
|
92
159
|
|
|
93
160
|
## [v1.0.7](https://github.com/mina-deploy/mina/tree/v1.0.7) (2017-09-08)
|
|
161
|
+
|
|
94
162
|
[Full Changelog](https://github.com/mina-deploy/mina/compare/v1.0.6...v1.0.7)
|
|
95
163
|
|
|
96
164
|
**Closed issues:**
|
|
@@ -128,12 +196,15 @@
|
|
|
128
196
|
- Add mina-hanami [\#495](https://github.com/mina-deploy/mina/pull/495) ([mgrachev](https://github.com/mgrachev))
|
|
129
197
|
|
|
130
198
|
## [v1.0.6](https://github.com/mina-deploy/mina/tree/v1.0.6) (2016-12-15)
|
|
199
|
+
|
|
131
200
|
[Full Changelog](https://github.com/mina-deploy/mina/compare/v1.0.5...v1.0.6)
|
|
132
201
|
|
|
133
202
|
## [v1.0.5](https://github.com/mina-deploy/mina/tree/v1.0.5) (2016-12-15)
|
|
203
|
+
|
|
134
204
|
[Full Changelog](https://github.com/mina-deploy/mina/compare/v1.0.4...v1.0.5)
|
|
135
205
|
|
|
136
206
|
## [v1.0.4](https://github.com/mina-deploy/mina/tree/v1.0.4) (2016-12-15)
|
|
207
|
+
|
|
137
208
|
[Full Changelog](https://github.com/mina-deploy/mina/compare/v1.0.3...v1.0.4)
|
|
138
209
|
|
|
139
210
|
**Implemented enhancements:**
|
|
@@ -166,6 +237,7 @@
|
|
|
166
237
|
- Restore previous path after in\_path block [\#478](https://github.com/mina-deploy/mina/pull/478) ([sobrinho](https://github.com/sobrinho))
|
|
167
238
|
|
|
168
239
|
## [v1.0.3](https://github.com/mina-deploy/mina/tree/v1.0.3) (2016-11-08)
|
|
240
|
+
|
|
169
241
|
[Full Changelog](https://github.com/mina-deploy/mina/compare/v1.0.2...v1.0.3)
|
|
170
242
|
|
|
171
243
|
**Closed issues:**
|
|
@@ -191,6 +263,7 @@
|
|
|
191
263
|
- Allow to overwrite existing :shared\_files with the symlink to shared \(fixes \#452\) [\#455](https://github.com/mina-deploy/mina/pull/455) ([ralfebert](https://github.com/ralfebert))
|
|
192
264
|
|
|
193
265
|
## [v1.0.2](https://github.com/mina-deploy/mina/tree/v1.0.2) (2016-10-12)
|
|
266
|
+
|
|
194
267
|
[Full Changelog](https://github.com/mina-deploy/mina/compare/v1.0.0...v1.0.2)
|
|
195
268
|
|
|
196
269
|
**Fixed bugs:**
|
|
@@ -216,6 +289,7 @@
|
|
|
216
289
|
- Fix rvm:use task [\#444](https://github.com/mina-deploy/mina/pull/444) ([devvmh](https://github.com/devvmh))
|
|
217
290
|
|
|
218
291
|
## [v1.0.0](https://github.com/mina-deploy/mina/tree/v1.0.0) (2016-09-27)
|
|
292
|
+
|
|
219
293
|
[Full Changelog](https://github.com/mina-deploy/mina/compare/v1.0.0.rc2...v1.0.0)
|
|
220
294
|
|
|
221
295
|
**Closed issues:**
|
|
@@ -224,9 +298,11 @@
|
|
|
224
298
|
- Support for nvm [\#440](https://github.com/mina-deploy/mina/issues/440)
|
|
225
299
|
|
|
226
300
|
## [v1.0.0.rc2](https://github.com/mina-deploy/mina/tree/v1.0.0.rc2) (2016-09-19)
|
|
301
|
+
|
|
227
302
|
[Full Changelog](https://github.com/mina-deploy/mina/compare/v1.0.0.rc1...v1.0.0.rc2)
|
|
228
303
|
|
|
229
304
|
## [v1.0.0.rc1](https://github.com/mina-deploy/mina/tree/v1.0.0.rc1) (2016-09-19)
|
|
305
|
+
|
|
230
306
|
[Full Changelog](https://github.com/mina-deploy/mina/compare/v1.0.0.beta5...v1.0.0.rc1)
|
|
231
307
|
|
|
232
308
|
**Implemented enhancements:**
|
|
@@ -254,6 +330,7 @@
|
|
|
254
330
|
- strip whitespace from commands by default [\#427](https://github.com/mina-deploy/mina/pull/427) ([devvmh](https://github.com/devvmh))
|
|
255
331
|
|
|
256
332
|
## [v1.0.0.beta5](https://github.com/mina-deploy/mina/tree/v1.0.0.beta5) (2016-08-30)
|
|
333
|
+
|
|
257
334
|
[Full Changelog](https://github.com/mina-deploy/mina/compare/v1.0.0.beta4...v1.0.0.beta5)
|
|
258
335
|
|
|
259
336
|
**Closed issues:**
|
|
@@ -261,9 +338,11 @@
|
|
|
261
338
|
- How to do a proper finish hook? [\#425](https://github.com/mina-deploy/mina/issues/425)
|
|
262
339
|
|
|
263
340
|
## [v1.0.0.beta4](https://github.com/mina-deploy/mina/tree/v1.0.0.beta4) (2016-08-28)
|
|
341
|
+
|
|
264
342
|
[Full Changelog](https://github.com/mina-deploy/mina/compare/v1.0.0.beta3...v1.0.0.beta4)
|
|
265
343
|
|
|
266
344
|
## [v1.0.0.beta3](https://github.com/mina-deploy/mina/tree/v1.0.0.beta3) (2016-08-28)
|
|
345
|
+
|
|
267
346
|
[Full Changelog](https://github.com/mina-deploy/mina/compare/v1.0.0.beta2...v1.0.0.beta3)
|
|
268
347
|
|
|
269
348
|
**Implemented enhancements:**
|
|
@@ -285,12 +364,13 @@
|
|
|
285
364
|
**Merged pull requests:**
|
|
286
365
|
|
|
287
366
|
- change docs about invoking rvm:use with arguments [\#413](https://github.com/mina-deploy/mina/pull/413) ([devvmh](https://github.com/devvmh))
|
|
288
|
-
- add Rbenv and RVM notes [\#412](https://github.com/mina-deploy/mina/pull/412) ([
|
|
367
|
+
- add Rbenv and RVM notes [\#412](https://github.com/mina-deploy/mina/pull/412) ([songhuangcn](https://github.com/songhuangcn))
|
|
289
368
|
- fix issues with rbenv:load [\#411](https://github.com/mina-deploy/mina/pull/411) ([devvmh](https://github.com/devvmh))
|
|
290
369
|
- ensure git pushed function - code props to @fgarcia [\#410](https://github.com/mina-deploy/mina/pull/410) ([devvmh](https://github.com/devvmh))
|
|
291
370
|
- fix infinite loop in suggested default config [\#409](https://github.com/mina-deploy/mina/pull/409) ([devvmh](https://github.com/devvmh))
|
|
292
371
|
|
|
293
372
|
## [v1.0.0.beta2](https://github.com/mina-deploy/mina/tree/v1.0.0.beta2) (2016-07-30)
|
|
373
|
+
|
|
294
374
|
[Full Changelog](https://github.com/mina-deploy/mina/compare/v1.0.0.beta1...v1.0.0.beta2)
|
|
295
375
|
|
|
296
376
|
**Implemented enhancements:**
|
|
@@ -364,6 +444,7 @@
|
|
|
364
444
|
- Feature/configuration dsl [\#398](https://github.com/mina-deploy/mina/pull/398) ([vr4b4c](https://github.com/vr4b4c))
|
|
365
445
|
|
|
366
446
|
## [v1.0.0.beta1](https://github.com/mina-deploy/mina/tree/v1.0.0.beta1) (2016-06-30)
|
|
447
|
+
|
|
367
448
|
[Full Changelog](https://github.com/mina-deploy/mina/compare/v0.3.8...v1.0.0.beta1)
|
|
368
449
|
|
|
369
450
|
**Closed issues:**
|
|
@@ -385,4 +466,4 @@
|
|
|
385
466
|
|
|
386
467
|
|
|
387
468
|
|
|
388
|
-
\* *This
|
|
469
|
+
\* *This Changelog was automatically generated by [github_changelog_generator](https://github.com/github-changelog-generator/github-changelog-generator)*
|
data/Gemfile
CHANGED
data/Gemfile.lock
ADDED
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
PATH
|
|
2
|
+
remote: .
|
|
3
|
+
specs:
|
|
4
|
+
mina (1.2.5)
|
|
5
|
+
rake
|
|
6
|
+
|
|
7
|
+
GEM
|
|
8
|
+
remote: https://rubygems.org/
|
|
9
|
+
specs:
|
|
10
|
+
ast (2.4.2)
|
|
11
|
+
coderay (1.1.3)
|
|
12
|
+
diff-lcs (1.4.4)
|
|
13
|
+
docile (1.4.0)
|
|
14
|
+
method_source (1.0.0)
|
|
15
|
+
parallel (1.20.1)
|
|
16
|
+
parser (3.0.2.0)
|
|
17
|
+
ast (~> 2.4.1)
|
|
18
|
+
pry (0.14.1)
|
|
19
|
+
coderay (~> 1.1)
|
|
20
|
+
method_source (~> 1.0)
|
|
21
|
+
rainbow (3.0.0)
|
|
22
|
+
rake (13.0.6)
|
|
23
|
+
regexp_parser (2.1.1)
|
|
24
|
+
rexml (3.2.5)
|
|
25
|
+
rspec (3.10.0)
|
|
26
|
+
rspec-core (~> 3.10.0)
|
|
27
|
+
rspec-expectations (~> 3.10.0)
|
|
28
|
+
rspec-mocks (~> 3.10.0)
|
|
29
|
+
rspec-core (3.10.1)
|
|
30
|
+
rspec-support (~> 3.10.0)
|
|
31
|
+
rspec-expectations (3.10.1)
|
|
32
|
+
diff-lcs (>= 1.2.0, < 2.0)
|
|
33
|
+
rspec-support (~> 3.10.0)
|
|
34
|
+
rspec-mocks (3.10.2)
|
|
35
|
+
diff-lcs (>= 1.2.0, < 2.0)
|
|
36
|
+
rspec-support (~> 3.10.0)
|
|
37
|
+
rspec-support (3.10.2)
|
|
38
|
+
rubocop (1.19.1)
|
|
39
|
+
parallel (~> 1.10)
|
|
40
|
+
parser (>= 3.0.0.0)
|
|
41
|
+
rainbow (>= 2.2.2, < 4.0)
|
|
42
|
+
regexp_parser (>= 1.8, < 3.0)
|
|
43
|
+
rexml
|
|
44
|
+
rubocop-ast (>= 1.9.1, < 2.0)
|
|
45
|
+
ruby-progressbar (~> 1.7)
|
|
46
|
+
unicode-display_width (>= 1.4.0, < 3.0)
|
|
47
|
+
rubocop-ast (1.10.0)
|
|
48
|
+
parser (>= 3.0.1.1)
|
|
49
|
+
rubocop-rspec (2.4.0)
|
|
50
|
+
rubocop (~> 1.0)
|
|
51
|
+
rubocop-ast (>= 1.1.0)
|
|
52
|
+
ruby-progressbar (1.11.0)
|
|
53
|
+
simplecov (0.21.2)
|
|
54
|
+
docile (~> 1.1)
|
|
55
|
+
simplecov-html (~> 0.11)
|
|
56
|
+
simplecov_json_formatter (~> 0.1)
|
|
57
|
+
simplecov-html (0.12.3)
|
|
58
|
+
simplecov_json_formatter (0.1.3)
|
|
59
|
+
unicode-display_width (2.0.0)
|
|
60
|
+
|
|
61
|
+
PLATFORMS
|
|
62
|
+
ruby
|
|
63
|
+
|
|
64
|
+
DEPENDENCIES
|
|
65
|
+
mina!
|
|
66
|
+
pry
|
|
67
|
+
rspec
|
|
68
|
+
rubocop
|
|
69
|
+
rubocop-rspec
|
|
70
|
+
simplecov
|
|
71
|
+
|
|
72
|
+
BUNDLED WITH
|
|
73
|
+
2.3.13
|
data/Rakefile
CHANGED
data/Readme.md
CHANGED
|
@@ -1,11 +1,8 @@
|
|
|
1
1
|
# Mina
|
|
2
2
|
|
|
3
|
-
[](https://codeclimate.com/github/mina-deploy/mina)
|
|
4
|
-
[](https://codeclimate.com/github/mina-deploy/mina/coverage)
|
|
5
|
-
[](https://semaphoreci.com/d4be4st/mina)
|
|
6
3
|
[](https://badge.fury.io/rb/mina)
|
|
7
4
|
|
|
8
|
-

|
|
9
6
|
|
|
10
7
|
Really fast deployer and server automation tool.
|
|
11
8
|
|
|
@@ -18,18 +15,17 @@ Mina works really fast because it's a deploy Bash script generator. It
|
|
|
18
15
|
generates an entire procedure as a Bash script and runs it remotely in the
|
|
19
16
|
server.
|
|
20
17
|
|
|
21
|
-
Compare this to the likes of [Capistrano](https://github.com/capistrano/capistrano), where it opens an SSH connection and runs each command in sequence
|
|
22
|
-
, Mina only creates a SSH session and sends *one* command.
|
|
18
|
+
Compare this to the likes of [Capistrano](https://github.com/capistrano/capistrano), where it opens an SSH connection and runs each command in sequence, Mina only creates a SSH session and sends *one* command.
|
|
23
19
|
|
|
24
20
|
$ gem install mina
|
|
25
21
|
$ mina init
|
|
26
22
|
|
|
27
|
-
Mina requires ruby 2.0.0 or greater. For older please use [0.3.8 version](https://github.com/mina-deploy/mina/blob/v0.3.8/)
|
|
23
|
+
Mina requires ruby 2.0.0 or greater. For older versions of Ruby, please use [0.3.8 version](https://github.com/mina-deploy/mina/blob/v0.3.8/).
|
|
28
24
|
|
|
29
25
|
Documentation
|
|
30
26
|
----------------
|
|
31
27
|
|
|
32
|
-
For quick start check out [Getting
|
|
28
|
+
For quick start check out [Getting started guide](docs/getting_started.md)
|
|
33
29
|
|
|
34
30
|
For migrating your current 0.3.x deploy scripts, please look at the [migrating guide](docs/migrating.md)
|
|
35
31
|
|
|
@@ -39,7 +35,7 @@ If you are missing some plugins check the [3rd party plugins doc](docs/3rd_party
|
|
|
39
35
|
|
|
40
36
|
For other documentation please visit the [docs](docs)
|
|
41
37
|
|
|
42
|
-
|
|
38
|
+
License
|
|
43
39
|
----------------
|
|
44
40
|
|
|
45
41
|
Released under the [MIT License](https://www.opensource.org/licenses/mit-license.php).
|
|
@@ -47,8 +43,8 @@ Released under the [MIT License](https://www.opensource.org/licenses/mit-license
|
|
|
47
43
|
Credits
|
|
48
44
|
----------------
|
|
49
45
|
|
|
50
|
-
Mina is maintained and sponsored by [Infinum](https://infinum.
|
|
46
|
+
Mina is maintained and sponsored by [Infinum](https://infinum.com).
|
|
51
47
|
|
|
52
|
-
You can reach us on twitter [Stef](https://twitter.com/_Beast_) & [Infinum](https://twitter.com/
|
|
48
|
+
You can reach us on twitter [Stef](https://twitter.com/_Beast_) & [Infinum](https://twitter.com/infinum).
|
|
53
49
|
|
|
54
|
-
|
|
50
|
+
© 2021 Infinum
|
data/bin/mina
CHANGED
data/data/deploy.rb
CHANGED
|
@@ -1,3 +1,5 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
1
3
|
require 'mina/rails'
|
|
2
4
|
require 'mina/git'
|
|
3
5
|
# require 'mina/rbenv' # for rbenv support. (https://rbenv.org)
|
|
@@ -45,7 +47,7 @@ task :setup do
|
|
|
45
47
|
# command %{gem install bundler}
|
|
46
48
|
end
|
|
47
49
|
|
|
48
|
-
desc
|
|
50
|
+
desc 'Deploys the current version to the server.'
|
|
49
51
|
task :deploy do
|
|
50
52
|
# uncomment this line to make sure you pushed your local branch to the remote origin
|
|
51
53
|
# invoke :'git:ensure_pushed'
|
|
@@ -61,13 +63,13 @@ task :deploy do
|
|
|
61
63
|
|
|
62
64
|
on :launch do
|
|
63
65
|
in_path(fetch(:current_path)) do
|
|
64
|
-
command %
|
|
65
|
-
command %
|
|
66
|
+
command %(mkdir -p tmp/)
|
|
67
|
+
command %(touch tmp/restart.txt)
|
|
66
68
|
end
|
|
67
69
|
end
|
|
68
70
|
end
|
|
69
71
|
|
|
70
|
-
# you can use `run :local` to run tasks on local machine before
|
|
72
|
+
# you can use `run :local` to run tasks on local machine before or after the deploy scripts
|
|
71
73
|
# run(:local){ say 'done' }
|
|
72
74
|
end
|
|
73
75
|
|
data/docs/3rd_party_plugins.md
CHANGED
|
@@ -32,6 +32,7 @@
|
|
|
32
32
|
* [mina-systemd](https://github.com/alexkojin/mina-systemd)
|
|
33
33
|
* [mina-tail](https://github.com/modomoto/mina-tail)
|
|
34
34
|
* [mina-unicorn](https://github.com/openteam/mina-unicorn)
|
|
35
|
+
* [mina-unicorn_systemd](https://github.com/coezbek/mina-unicorn_systemd)
|
|
35
36
|
* [mina-whenever](https://github.com/mina-deploy/mina-whenever)
|
|
36
37
|
* [mina-lock](https://github.com/lorenzosinisi/mina-lock)
|
|
37
38
|
* [mina-thinking-sphinx](https://github.com/airled/mina-thinking-sphinx)
|
|
Binary file
|
data/docs/default_plugins.md
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# Default Plugins
|
|
2
2
|
|
|
3
|
-
`mina` comes with a
|
|
3
|
+
`mina` comes with a variety of plugins for you to use out of the box. As `mina` is primarely written in ruby and for rails, it has
|
|
4
4
|
ruby plugins, but it can be used to deploy any other application (static, js, php, etc)
|
|
5
5
|
|
|
6
6
|
To use a plugin you only need to require it in your `deploy.rb`. Most of the plugins come with a set of their
|
data/docs/how_mina_works.md
CHANGED
|
@@ -152,11 +152,11 @@ Mode | Description
|
|
|
152
152
|
-----|------------
|
|
153
153
|
`:exec` | It uses [Kernel#exec](http://ruby-doc.org/core-2.4.2/Kernel.html#method-i-exec) to run your script. This means that it will execute and exit and won't run any other tasks. This is useful for tasks such as [`mina console`](https://github.com/mina-deploy/mina/blob/master/tasks/mina/rails.rb#L15)
|
|
154
154
|
`:system` | It uses [Kernel#system](http://ruby-doc.org/core-2.4.2/Kernel.html#method-i-system) to run your script.
|
|
155
|
-
`:pretty` | It uses [
|
|
155
|
+
`:pretty` | It uses [Open3#popen3](https://ruby-doc.org/stdlib-3.0.0/libdoc/open3/rdoc/Open3.html#method-c-popen3) to run your script. This mode pretty prints stdout and stderr and colors it. This the default mode for most of the default tasks.
|
|
156
156
|
`:printer` | It uses [Kernel#puts](http://ruby-doc.org/core-2.4.2/Kernel.html#method-i-puts) to run your script. This is used when `simulate` flag is set so it only prints out the generated script
|
|
157
157
|
|
|
158
158
|
#### WARNING
|
|
159
|
-
`:pretty` mode is using
|
|
159
|
+
`:pretty` mode is using popen3. In this mode STDIN is efectivly disabled. This means that any kind of inputs won't be forwarded to remote host. If you have a need for password input please use `:system` mode
|
|
160
160
|
|
|
161
161
|
### Backends
|
|
162
162
|
|
data/lib/Minafile
CHANGED
data/lib/mina/application.rb
CHANGED
|
@@ -1,3 +1,5 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
1
3
|
module Mina
|
|
2
4
|
class Application < Rake::Application
|
|
3
5
|
include Configuration::DSL
|
|
@@ -11,24 +13,27 @@ module Mina
|
|
|
11
13
|
'mina'
|
|
12
14
|
end
|
|
13
15
|
|
|
14
|
-
|
|
16
|
+
# :nocov:
|
|
17
|
+
def run(*args)
|
|
15
18
|
Rake.application = self
|
|
16
|
-
super
|
|
19
|
+
super(*args)
|
|
17
20
|
end
|
|
21
|
+
# :nocov:
|
|
18
22
|
|
|
19
23
|
def sort_options(options)
|
|
20
|
-
|
|
21
|
-
options.reject! do |(switch, *)|
|
|
22
|
-
switch =~ /--#{Regexp.union(not_applicable_to_mina)}/
|
|
23
|
-
end
|
|
24
|
+
options_not_applicable_to_mina = /--#{Regexp.union(['quiet', 'silent', 'verbose', 'dry-run'])}/
|
|
24
25
|
|
|
25
|
-
|
|
26
|
+
mina_options = options.reject { |(switch, *)| switch =~ options_not_applicable_to_mina }
|
|
27
|
+
mina_options += [version, verbose, simulate, debug_configuration_variables, no_report_time]
|
|
28
|
+
|
|
29
|
+
super(mina_options)
|
|
26
30
|
end
|
|
27
31
|
|
|
28
32
|
def top_level_tasks
|
|
29
33
|
return @top_level_tasks if @top_level_tasks.include?('init')
|
|
30
|
-
|
|
31
|
-
@top_level_tasks <<
|
|
34
|
+
|
|
35
|
+
@top_level_tasks << 'debug_configuration_variables'
|
|
36
|
+
@top_level_tasks << 'run_commands'
|
|
32
37
|
end
|
|
33
38
|
|
|
34
39
|
private
|
|
@@ -38,48 +43,53 @@ module Mina
|
|
|
38
43
|
end
|
|
39
44
|
|
|
40
45
|
def version
|
|
41
|
-
[
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
46
|
+
[
|
|
47
|
+
'--version', '-V',
|
|
48
|
+
'Display the program version.',
|
|
49
|
+
lambda do |_value|
|
|
50
|
+
puts "Mina, version v#{Mina::VERSION}"
|
|
51
|
+
exit
|
|
52
|
+
end
|
|
47
53
|
]
|
|
48
54
|
end
|
|
49
55
|
|
|
50
56
|
def verbose
|
|
51
|
-
[
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
57
|
+
[
|
|
58
|
+
'--verbose', '-v',
|
|
59
|
+
'Print a command before its execution.',
|
|
60
|
+
lambda do |_value|
|
|
61
|
+
set(:verbose, true)
|
|
62
|
+
end
|
|
56
63
|
]
|
|
57
64
|
end
|
|
58
65
|
|
|
59
66
|
def simulate
|
|
60
|
-
[
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
67
|
+
[
|
|
68
|
+
'--simulate', '-s',
|
|
69
|
+
'Run a simulation. All commands will be printed but not executed.',
|
|
70
|
+
lambda do |_value|
|
|
71
|
+
set(:simulate, true)
|
|
72
|
+
end
|
|
65
73
|
]
|
|
66
74
|
end
|
|
67
75
|
|
|
68
76
|
def debug_configuration_variables
|
|
69
|
-
[
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
77
|
+
[
|
|
78
|
+
'--debug-configuration-variables', '-d',
|
|
79
|
+
'Display configuration variables.',
|
|
80
|
+
lambda do |_value|
|
|
81
|
+
set(:debug_configuration_variables, true)
|
|
82
|
+
end
|
|
74
83
|
]
|
|
75
84
|
end
|
|
76
85
|
|
|
77
86
|
def no_report_time
|
|
78
|
-
[
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
87
|
+
[
|
|
88
|
+
'--no-report-time', nil,
|
|
89
|
+
"Don't report execution time.",
|
|
90
|
+
lambda do |_value|
|
|
91
|
+
set(:skip_report_time, true)
|
|
92
|
+
end
|
|
83
93
|
]
|
|
84
94
|
end
|
|
85
95
|
end
|
data/lib/mina/backend/local.rb
CHANGED
data/lib/mina/backend/remote.rb
CHANGED
|
@@ -1,7 +1,10 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
1
3
|
module Mina
|
|
2
4
|
module Backend
|
|
3
5
|
class Remote
|
|
4
6
|
attr_reader :commands
|
|
7
|
+
|
|
5
8
|
include Configuration::DSL
|
|
6
9
|
|
|
7
10
|
def initialize(commands)
|
|
@@ -31,7 +34,6 @@ module Mina
|
|
|
31
34
|
args += ' -tt'
|
|
32
35
|
"ssh #{args}"
|
|
33
36
|
end
|
|
34
|
-
|
|
35
37
|
end
|
|
36
38
|
end
|
|
37
39
|
end
|
data/lib/mina/commands.rb
CHANGED
|
@@ -1,3 +1,5 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
1
3
|
module Mina
|
|
2
4
|
class Commands
|
|
3
5
|
extend Forwardable
|
|
@@ -19,11 +21,11 @@ module Mina
|
|
|
19
21
|
end
|
|
20
22
|
|
|
21
23
|
def comment(code, indent: nil)
|
|
22
|
-
if indent
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
24
|
+
queue[stage] << if indent
|
|
25
|
+
indent(indent, %(echo "-----> #{code}"))
|
|
26
|
+
else
|
|
27
|
+
%(echo "-----> #{code}")
|
|
28
|
+
end
|
|
27
29
|
end
|
|
28
30
|
|
|
29
31
|
def delete(stage)
|
|
@@ -34,9 +36,9 @@ module Mina
|
|
|
34
36
|
queue[stage] = []
|
|
35
37
|
end
|
|
36
38
|
|
|
37
|
-
def process(path = nil)
|
|
39
|
+
def process(path = nil) # rubocop:disable Metrics/AbcSize
|
|
38
40
|
if path && !queue[stage].empty?
|
|
39
|
-
queue[stage].unshift(%
|
|
41
|
+
queue[stage].unshift(%(echo "$ cd #{path}")) if fetch(:verbose)
|
|
40
42
|
%{(cd #{path} && #{queue[stage].join(' && ')} && cd -)}
|
|
41
43
|
else
|
|
42
44
|
queue[stage].join("\n")
|
|
@@ -49,6 +51,7 @@ module Mina
|
|
|
49
51
|
|
|
50
52
|
def run(backend)
|
|
51
53
|
return if queue.empty?
|
|
54
|
+
|
|
52
55
|
report_time do
|
|
53
56
|
status = Mina::Runner.new(process, backend).run
|
|
54
57
|
error! 'Run Error' unless status
|