mina 0.3.3 → 0.3.4

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: c2b6b88e6812eb7ebcfceb198931304b415e71c8
4
- data.tar.gz: a4d2b0b278e6ab972d7776c00fcee34cbf1c245d
3
+ metadata.gz: 7c6b0b3ddff51096031d949735044ec53b0c2484
4
+ data.tar.gz: 9645495211ff5442aad8b0986735da7d93157d86
5
5
  SHA512:
6
- metadata.gz: 64e84169e5dd133db2734012303969569f3025ef71a5a127016d6e70285c97420b610063e3066630fa07f385aa6cd4b3c5d2b39825c07b76822af42bed2d2005
7
- data.tar.gz: 559043af839f8a34e61585d641976780160bd0c88a3523c9161a607d7f2f5ae329e351cee8ba9728549225b017e5b73fbc0d4777b6c767048ea4435706e19b05
6
+ metadata.gz: b70f4bcecbf9673c99898e5ee87d06b2db3adfd50545db587964f3e9a713112142d16fbd4eadba6a7c9a9711350a1bf0577d70b7a3b32b00d9be815901e2a7dd
7
+ data.tar.gz: a4d75cb1b9d44f45e8c7535b8b345cc061ad717f993d346779152af44265cc141e8e086f70abcd1d99b9b90a585e5a8a4edcdd22146af9a27a740d5fa50f6d2f
data/HISTORY.md CHANGED
@@ -1,3 +1,30 @@
1
+ Latest version - Mar 27, 2015
2
+ -----------------------------
3
+
4
+ ### Fixed:
5
+ * invoke does not work after a to block (#285)
6
+
7
+ ### Added:
8
+ * before and after hooks
9
+
10
+
11
+ Latest version - Mar 10, 2015
12
+ -----------------------------
13
+
14
+ ### Fixed:
15
+ * link typo in readme (#273) [Henare Degan]
16
+ * up formatting of code block in readme (#274) [Henare Degan]
17
+ * Rolling back to previous release (#9) [Tyler Mandry]
18
+ * ruby 1.8.7 and rake 0.9 issue with invoke
19
+
20
+ ### Changed:
21
+ * update 3rd party list
22
+ * update docs, added db_rollback rails command
23
+
24
+ [Tyler Mandry]: https://github.com/tmandry
25
+ [Henare Degan]: https://github.com/henare
26
+
27
+
1
28
  v0.3.2 - January 24, 2015
2
29
  -----------------------------
3
30
 
data/Makefile CHANGED
@@ -3,6 +3,7 @@ Readme.md: \
3
3
  support/guide.md \
4
4
  support/helpers.md \
5
5
  support/modules.md \
6
+ support/third_party_modules.md \
6
7
  support/Readme-footer.md
7
8
  cat $^ > $@
8
9
 
@@ -15,6 +16,7 @@ support/modules.md: \
15
16
  lib/mina/rails.rb \
16
17
  lib/mina/rbenv.rb \
17
18
  lib/mina/rvm.rb \
19
+ lib/mina/npm.rb \
18
20
  lib/mina/whenever.rb
19
21
  cat $^ | ruby support/to_md.rb > $@
20
22
 
data/Readme.md CHANGED
@@ -56,13 +56,13 @@ change it's ownership to the correct user.
56
56
  ### Step 3: Run 'mina setup'
57
57
 
58
58
  Back at your computer, do `mina setup` to set up the [folder
59
- structure](#directory-structure) in this path. This will connect to your server
59
+ structure](#directory_structure) in this path. This will connect to your server
60
60
  via SSH and create the right directories.
61
61
 
62
62
  $ mina setup
63
63
  -----> Creating folders... done.
64
64
 
65
- See [directory structure](#directory-structure) for more info.
65
+ See [directory structure](#directory_structure) for more info.
66
66
 
67
67
  ### Step 4: Deploy!
68
68
 
@@ -199,8 +199,7 @@ task :deploy do
199
199
 
200
200
  # These are instructions to start the app after it's been prepared.
201
201
  to :launch do
202
- queue "mkdir -p #{deploy_to}/#{current_path}/tmp/"
203
- queue "touch #{deploy_to}/#{current_path}/tmp/restart.txt"
202
+ queue 'touch tmp/restart.txt'
204
203
  end
205
204
 
206
205
  # This optional block defines how a broken release should be cleaned up.
@@ -300,7 +299,7 @@ Basic usage:
300
299
 
301
300
  ### Tasks
302
301
 
303
- There are many tasks available. See the [tasks reference](http://mina-deploy.github.io/mina/tasks/index.html), or
302
+ There are many tasks available. See the [tasks reference](http://mina-deploy.github.io/mina/tasks/), or
304
303
  type `mina tasks`.
305
304
 
306
305
  ### Variables
@@ -316,7 +315,8 @@ You can add as many variables as needed.
316
315
  # Helpers
317
316
 
318
317
  ### invoke
319
- Invokes another Rake task. By default if the task has already been invoked it will not been executed again (see the `:reenable` option).
318
+ Invokes another Rake task.
319
+ By default if the task has already been invoked it will not been executed again (see the `:reenable` option).
320
320
 
321
321
  Invokes the task given in `task`. Returns nothing.
322
322
 
@@ -325,8 +325,10 @@ invoke :'git:clone'
325
325
  invoke :restart
326
326
  ~~~
327
327
 
328
- __Options:__
329
- `:reenable` (bool) - Execute the task even next time. Defaults to `false`
328
+ Options:
329
+ reenable (bool) - Execute the task even next time.
330
+
331
+ task.to_s is a ruby 1.8.7 fix
330
332
 
331
333
  ### erb
332
334
  Evaluates an ERB block in the current scope and returns a string.
@@ -354,6 +356,22 @@ run!
354
356
 
355
357
  Returns nothing.
356
358
 
359
+ ### run_local!
360
+ runs the code locally that has been queued.
361
+ Has to be in :before_hook or :after_hook queue
362
+
363
+ This is already automatically invoked before Rake exits to run all
364
+ commands that have been queued up.
365
+
366
+ ~~~ ruby
367
+ to :before_hook do
368
+ queue "cp file1 file2"
369
+ end
370
+ run_local!(:before_hook)
371
+ ~~~
372
+
373
+ Returns nothing.
374
+
357
375
  ### report_time
358
376
  Report time elapsed in the block.
359
377
  Returns the output of the block.
@@ -613,6 +631,9 @@ Sets the path to where the gems are expected to be.
613
631
  This path will be symlinked to `./shared/bundle` so that the gems cache will
614
632
  be shared between all releases.
615
633
 
634
+ ### bundle_withouts
635
+ Sets the colon-separated list of groups to be skipped from installation.
636
+
616
637
  ### bundle_options
617
638
  Sets the options for installing gems via Bundler.
618
639
 
@@ -649,7 +670,7 @@ The local path to the SSH private key file.
649
670
  Switches to be passed to the `ssh` command.
650
671
 
651
672
  ### env_vars
652
- Environment variables passed to the `ssh` command (e.g. "foo=bar baz=1").
673
+ Environment variables to be passed to `ssh` command. (e.g. "foo=bar baz=1")
653
674
 
654
675
  ## Tasks
655
676
  Any and all of these settings can be overriden in your `deploy.rb`.
@@ -730,6 +751,20 @@ By default, the last 5 releases are kept on each server (though you can
730
751
  change this with the keep_releases setting). All other deployed revisions
731
752
  are removed from the servers."
732
753
 
754
+ ### deploy:rollback
755
+ Rollbacks the latest release.
756
+
757
+ Changes the current link to previous release, and deletes the newest deploy release
758
+ Does NOT rollback the database, use
759
+
760
+ ~~~ ruby
761
+ mina "rake[db:rollback]"
762
+ ~~~
763
+
764
+ Delete existing sym link and create a new symlink pointing to the previous release
765
+
766
+ Remove latest release folder (current release)
767
+
733
768
  ### setup
734
769
  Sets up a site's directory structure.
735
770
 
@@ -737,7 +772,7 @@ Sets up a site's directory structure.
737
772
  Runs a command on a server.
738
773
 
739
774
  ~~~ ruby
740
- $ mina run[tail -f logs.txt]
775
+ $ mina "run[tail -f logs.txt]"
741
776
  ~~~
742
777
 
743
778
  # Modules: Foreman
@@ -751,21 +786,22 @@ NOTE: Requires sudo privileges
751
786
 
752
787
  ## Common usage
753
788
 
754
- ~~~ ruby
755
- set :application, "app-name"
789
+ set :application, "app-name"
756
790
 
757
- task :deploy => :environment do
758
- deploy do
759
- # ...
760
- invoke 'foreman:export'
761
- # ...
762
- end
763
- to :launch do
764
- invoke 'foreman:restart'
765
- end
766
- end
791
+ task :deploy => :environment do
792
+ ~~~ ruby
793
+ deploy do
794
+ # ...
795
+ invoke 'foreman:export'
796
+ # ...
797
+ end
798
+ to :launch do
799
+ invoke 'foreman:restart'
800
+ end
767
801
  ~~~
768
802
 
803
+ end
804
+
769
805
  ## Settings
770
806
  Any and all of these settings can be overriden in your `deploy.rb`.
771
807
 
@@ -866,14 +902,14 @@ These tasks can be invoked in the command line.
866
902
  Invokes a rails command.
867
903
 
868
904
  ~~~ ruby
869
- $ mina rails[console]
905
+ $ mina "rails[console]"
870
906
  ~~~
871
907
 
872
908
  ### rake[]
873
909
  Invokes a rake command.
874
910
 
875
911
  ~~~ ruby
876
- $ mina rake db:cleanup
912
+ $ mina "rake[db:migrate]"
877
913
  ~~~
878
914
 
879
915
  ### console
@@ -891,6 +927,8 @@ their own.
891
927
 
892
928
  ### rails:db_migrate:force
893
929
 
930
+ ### rails:db_rollback
931
+
894
932
  ### rails:assets_precompile:force
895
933
 
896
934
  ### rails:assets_precompile
@@ -982,12 +1020,7 @@ task ::setup => :environment do
982
1020
  end
983
1021
  ~~~
984
1022
 
985
- Adds settings and tasks for managing projects with [whenever].
986
- [whenever]: http://rubygems.org/gems/whenever
987
-
988
-
989
- # Modules: NPM
990
- Adds settings and tasks for managing NodeJS projects.
1023
+ Adds settings and tasks for managing Node packages.
991
1024
 
992
1025
  ~~~ ruby
993
1026
  require 'mina/npm'
@@ -996,16 +1029,54 @@ require 'mina/npm'
996
1029
  ## Settings
997
1030
  Any and all of these settings can be overriden in your `deploy.rb`.
998
1031
 
1032
+ ### npm_bin
1033
+ Sets the npm binary.
1034
+
1035
+ ### bower_bin
1036
+ Sets the bower binary.
1037
+
1038
+ ### grunt_bin
1039
+ Sets the grunt binary.
1040
+
999
1041
  ### npm_options
1000
- Parameters to pass to the npm binary. Default to `--production`.
1042
+ Sets the options for installing modules via npm.
1001
1043
 
1002
- ----
1044
+ ### bower_options
1045
+ Sets the options for installing modules via bower.
1046
+
1047
+ ### grunt_options
1048
+ Sets the options for grunt.
1049
+
1050
+ ### grunt_task
1051
+ Sets the task parameters for grunt.
1003
1052
 
1004
1053
  ## Deploy tasks
1005
1054
  These tasks are meant to be invoked inside deploy scripts, not invoked on
1006
1055
  their own.
1007
1056
 
1008
1057
  ### npm:install
1058
+ Installs node modules. Takes into account if executed `in_directory` and namespaces the installed modules in the shared folder.
1059
+
1060
+ ### bower:install
1061
+ Installs bower modules. Takes into account if executed `in_directory` and namespaces the installed modules in the shared folder.
1062
+
1063
+ ### bower:install
1064
+ Installs bower modules. Takes into account if executed `in_directory` and namespaces the installed modules in the shared folder.
1065
+
1066
+ # Modules: Whenever
1067
+ Adds settings and tasks for managing projects with [whenever].
1068
+
1069
+ [whenever]: http://rubygems.org/gems/whenever
1070
+
1071
+ ## Common usage
1072
+ ~~~ ruby
1073
+ require 'mina/whenever'
1074
+ task :deploy => :environment do
1075
+ deploy do
1076
+ ...
1077
+ invoke :'whenever:update'
1078
+ end
1079
+ ~~~
1009
1080
 
1010
1081
  3rd party modules
1011
1082
  ------
@@ -1014,6 +1085,7 @@ their own.
1014
1085
  * [mina-stack](https://github.com/div/mina-stack)
1015
1086
  * [mina-rsync](https://github.com/moll/mina-rsync)
1016
1087
  * [mina-sidekiq](https://github.com/Mic92/mina-sidekiq)
1088
+ * [mina-delayed_job](https://github.com/d4be4st/mina-delayed_job)
1017
1089
  * [mina-nginx](https://github.com/hbin/mina-nginx)
1018
1090
  * [mina-newrelic](https://github.com/navinpeiris/mina-newrelic)
1019
1091
  * [mina-rbenv-addons](https://github.com/stas/mina-rbenv-addons)
@@ -1033,7 +1105,7 @@ their own.
1033
1105
  Acknowledgements
1034
1106
  ----------------
1035
1107
 
1036
- © 2012-2014, Nadarei. Released under the [MIT
1108
+ © 2012-2015, Nadarei. Released under the [MIT
1037
1109
  License](http://www.opensource.org/licenses/mit-license.php).
1038
1110
 
1039
1111
  Mina is authored and maintained by [Rico Sta. Cruz][rsc] and [Michael
@@ -1056,7 +1128,8 @@ Michael:
1056
1128
 
1057
1129
  [rsc]: http://ricostacruz.com
1058
1130
  [mg]: http://devblog.michaelgalero.com/
1059
- [c]: https://github.com/mina-deploy/mina/graphs/contributors
1131
+ [c]: http://github.com/mina-deploy/mina/graphs/contributors
1060
1132
  [nd]: http://nadarei.co
1061
1133
  [issues]: https://github.com/mina-deploy/mina/issues
1062
1134
  [trello]: https://trello.com/board/mina/4fc8b3023d9c9a4d72e573e6
1135
+
@@ -54,6 +54,9 @@ end
54
54
 
55
55
  desc "Deploys the current version to the server."
56
56
  task :deploy => :environment do
57
+ to :before_hook do
58
+ # Put things to run locally before ssh
59
+ end
57
60
  deploy do
58
61
  # Put things that will set up an empty directory into a fully set-up
59
62
  # instance of your project.
@@ -7,6 +7,7 @@ module Mina
7
7
  autoload :DeployHelpers, 'mina/deploy_helpers'
8
8
  autoload :OutputHelpers, 'mina/output_helpers'
9
9
  autoload :SshHelpers, 'mina/ssh_helpers'
10
+ autoload :LocalHelpers, 'mina/local_helpers'
10
11
  autoload :ExecHelpers, 'mina/exec_helpers'
11
12
  autoload :Helpers, 'mina/helpers'
12
13
  autoload :Settings, 'mina/settings'
@@ -24,7 +24,7 @@
24
24
  # Switches to be passed to the `ssh` command.
25
25
 
26
26
  # ### env_vars
27
- # Environment variables to be passed to `ssh` command.
27
+ # Environment variables to be passed to `ssh` command. (e.g. "foo=bar baz=1")
28
28
 
29
29
  # ## Tasks
30
30
  # Any and all of these settings can be overriden in your `deploy.rb`.
@@ -5,6 +5,7 @@ module Mina
5
5
 
6
6
  # ### invoke
7
7
  # Invokes another Rake task.
8
+ # By default if the task has already been invoked it will not been executed again (see the `:reenable` option).
8
9
  #
9
10
  # Invokes the task given in `task`. Returns nothing.
10
11
  #
@@ -59,6 +60,23 @@ module Mina
59
60
  report_time { ssh commands(:default) }
60
61
  end
61
62
 
63
+ # ### run_local!
64
+ # runs the code locally that has been queued.
65
+ # Has to be in :before_hook or :after_hook queue
66
+ #
67
+ # This is already automatically invoked before Rake exits to run all
68
+ # commands that have been queued up.
69
+ #
70
+ # to :before_hook do
71
+ # queue "cp file1 file2"
72
+ # end
73
+ # run_local!(:before_hook)
74
+ #
75
+ # Returns nothing.
76
+ def run_local!(aspect)
77
+ report_time { local commands(aspect) }
78
+ end
79
+
62
80
  # ### report_time
63
81
  # Report time elapsed in the block.
64
82
  # Returns the output of the block.
@@ -93,7 +111,9 @@ module Mina
93
111
  # Returns nothing.
94
112
 
95
113
  def mina_cleanup!
114
+ run_local!(:before_hook) if commands(:before_hook).any?
96
115
  run! if commands.any?
116
+ run_local!(:after_hook) if commands(:after_hook).any?
97
117
  end
98
118
 
99
119
  # ## Errors
@@ -138,6 +158,7 @@ module Mina
138
158
 
139
159
  def queue(code)
140
160
  commands
161
+ @to ||= :default
141
162
  commands(@to) << unindent(code)
142
163
  end
143
164
 
@@ -187,9 +208,8 @@ module Mina
187
208
  # commands == ["sudo restart", "true"]
188
209
  # commands(:clean) == ["rm"]
189
210
 
190
- def commands(aspect=:default)
211
+ def commands(aspect = :default)
191
212
  (@commands ||= begin
192
- @to = :default
193
213
  Hash.new { |h, k| h[k] = Array.new }
194
214
  end)[aspect]
195
215
  end
@@ -0,0 +1,98 @@
1
+ # # Helpers: Local helpers
2
+ # You don't need to invoke these helpers, they're already invoked automatically.
3
+
4
+ module Mina
5
+ module LocalHelpers
6
+ # ### local
7
+ # Executes a command.
8
+ #
9
+ # Returns nothing usually, but if `{ return: true }` is given, returns the
10
+ # STDOUT output.
11
+ #
12
+ # `options` is a hash of options:
13
+ #
14
+ # - `:pretty` - Prettify the output if true.
15
+ # - `:return` - If set to true, returns the output.
16
+ #
17
+ # Example
18
+ #
19
+ # local("ls", return: true)
20
+
21
+ def local(cmd, options = {})
22
+ require 'shellwords'
23
+
24
+ cmd = cmd.join("\n") if cmd.is_a?(Array)
25
+ script = Shellwords.escape(cmd)
26
+
27
+ if options[:return] == true
28
+ `#{script}`
29
+ elsif simulate_mode?
30
+ Local.simulate(cmd)
31
+ else
32
+ result = Local.invoke(script, self)
33
+ Local.ensure_successful result, self
34
+ end
35
+ end
36
+
37
+ # ## Private methods
38
+ # `local` delegates to these.
39
+
40
+ module Local
41
+ extend self
42
+
43
+ # ### Local.simulate
44
+ # __Internal:__ Prints command.
45
+
46
+ def simulate(cmd)
47
+ str = "Executing the following:"
48
+ puts "#!/usr/bin/env bash"
49
+ puts "# #{str}"
50
+ puts "#"
51
+
52
+ puts cmd
53
+
54
+ 0
55
+ end
56
+
57
+ # ### Local.invoke
58
+ # __Internal:__ Initiates an SSH session with script `script` with given
59
+ # `term_mode`. Called by `local`.
60
+
61
+ def invoke(script, this)
62
+ # Ruby 1.8.7 doesn't let you have empty symbols
63
+ term_mode = :"#{this.settings.term_mode}" if this.settings.term_mode
64
+ code = "#{script}"
65
+
66
+ # Certain environments can't do :pretty mode.
67
+ term_mode = :exec if term_mode == :pretty && !pretty_supported?
68
+
69
+ case term_mode
70
+ when :pretty
71
+ this.pretty_system(code)
72
+ when :exec
73
+ exec code
74
+ else
75
+ system code
76
+ $?.to_i
77
+ end
78
+ end
79
+
80
+ # TODO: Move to concern
81
+ def pretty_supported?
82
+ # open4 is not supported under Windows.
83
+ # https://github.com/nadarei/mina/issues/58
84
+ require 'rbconfig'
85
+ ! (RbConfig::CONFIG['host_os'] =~ /mswin|mingw/)
86
+ end
87
+
88
+ # ### Local.ensure_successful
89
+ # __Internal:__ Halts the execution if the given result code is not
90
+ # successful (non-zero).
91
+
92
+ def ensure_successful(result, this)
93
+ this.die result if result.is_a?(Fixnum) && result > 0
94
+ result
95
+ end
96
+ end
97
+ end
98
+ end
@@ -2,6 +2,7 @@
2
2
  extend Mina::Helpers
3
3
  extend Mina::DeployHelpers
4
4
  extend Mina::SshHelpers
5
+ extend Mina::LocalHelpers
5
6
  extend Mina::OutputHelpers
6
7
  extend Mina::ExecHelpers
7
8
 
@@ -1,5 +1,5 @@
1
1
  module Mina
2
2
  def self.version
3
- "0.3.3"
3
+ "0.3.4"
4
4
  end
5
5
  end
@@ -1,6 +1,17 @@
1
1
  # # Modules: Whenever
2
2
  # Adds settings and tasks for managing projects with [whenever].
3
+ #
3
4
  # [whenever]: http://rubygems.org/gems/whenever
5
+ #
6
+ #
7
+ # ## Common usage
8
+ # require 'mina/whenever'
9
+ #
10
+ # task :deploy => :environment do
11
+ # deploy do
12
+ # ...
13
+ # invoke :'whenever:update'
14
+ # end
4
15
 
5
16
  namespace :whenever do
6
17
  desc "Clear crontab"
@@ -10,6 +10,7 @@ class RakeScope
10
10
  include Rake::DSL if Rake.const_defined?(:DSL)
11
11
  include Mina::Helpers
12
12
  include Mina::SshHelpers
13
+ include Mina::LocalHelpers
13
14
  end
14
15
 
15
16
  def rake(&blk)
@@ -2,8 +2,7 @@
2
2
  Acknowledgements
3
3
  ----------------
4
4
 
5
- © 2012-2014, Nadarei. Released under the [MIT
6
- License](http://www.opensource.org/licenses/mit-license.php).
5
+ © 2012-2015, Nadarei. Released under the [MIT License](http://www.opensource.org/licenses/mit-license.php).
7
6
 
8
7
  Mina is authored and maintained by [Rico Sta. Cruz][rsc] and [Michael
9
8
  Galero][mg] with help from its [contributors][c]. It is sponsored by our
@@ -25,8 +24,8 @@ Michael:
25
24
 
26
25
  [rsc]: http://ricostacruz.com
27
26
  [mg]: http://devblog.michaelgalero.com/
28
- [c]: http://github.com/nadarei/mina/contributors
27
+ [c]: http://github.com/mina-deploy/mina/graphs/contributors
29
28
  [nd]: http://nadarei.co
30
- [issues]: https://github.com/nadarei/mina/issues
29
+ [issues]: https://github.com/mina-deploy/mina/issues
31
30
  [trello]: https://trello.com/board/mina/4fc8b3023d9c9a4d72e573e6
32
31
 
@@ -0,0 +1,23 @@
1
+ 3rd party modules
2
+ ------
3
+
4
+ * [mina-rollbar](https://github.com/code-lever/mina-rollbar)
5
+ * [mina-stack](https://github.com/div/mina-stack)
6
+ * [mina-rsync](https://github.com/moll/mina-rsync)
7
+ * [mina-sidekiq](https://github.com/Mic92/mina-sidekiq)
8
+ * [mina-delayed_job](https://github.com/d4be4st/mina-delayed_job)
9
+ * [mina-nginx](https://github.com/hbin/mina-nginx)
10
+ * [mina-newrelic](https://github.com/navinpeiris/mina-newrelic)
11
+ * [mina-rbenv-addons](https://github.com/stas/mina-rbenv-addons)
12
+ * [mina-multistage](https://github.com/endoze/mina-multistage)
13
+ * [mina-s3](https://github.com/stas/mina-s3)
14
+ * [mina-scp](https://github.com/adie/mina-scp)
15
+ * [mina-hooks](https://github.com/elskwid/mina-hooks)
16
+ * [mina-slack](https://github.com/TAKAyukiatkwsk/mina-slack)
17
+ * [mina-cakephp](https://github.com/mobvox/mina-cakephp)
18
+ * [mina-unicorn](https://github.com/openteam/mina-unicorn)
19
+ * [mina-puma](https://github.com/sandelius/mina-puma)
20
+ * [mina-mercurial](https://github.com/rainlabs/mina-mercurial)
21
+ * [mina-faye](https://github.com/NingenUA/mina-faye)
22
+ * [mina-clockwork](https://github.com/907th/mina-clockwork)
23
+ * [mina-ftp](https://github.com/stas/mina-ftp)
@@ -19,6 +19,7 @@ File.open("#{Dir.pwd}/deploy/config/database.yml", 'w') { |f| f.write "Hello" }
19
19
  require 'mina/rails'
20
20
  require 'mina/bundler'
21
21
  require 'mina/git'
22
+ require 'pry'
22
23
 
23
24
  set :domain, 'localhost'
24
25
  set :deploy_to, "#{Dir.pwd}/deploy"
@@ -35,12 +36,18 @@ desc "Deploys."
35
36
  task :deploy => :environment do
36
37
  queue "bundle() { true; }" # Stub the bundle command.
37
38
 
39
+ to :before_hook do
40
+ queue %[ echo "-----> This is before hook"]
41
+ end
42
+
38
43
  deploy do
39
- queue %[ruby -e "\\$stderr.write \\\"This is stdout output\n\\\""]
40
- invoke :'git:clone'
41
- invoke :'deploy:link_shared_paths'
42
- invoke :'bundle:install'
43
- invoke :'rails:db_migrate'
44
+ to :default do
45
+ queue %[ruby -e "\\$stderr.write \\\"This is stdout output\n\\\""]
46
+ invoke :'git:clone'
47
+ invoke :'deploy:link_shared_paths'
48
+ invoke :'bundle:install'
49
+ invoke :'rails:db_migrate'
50
+ end
44
51
 
45
52
  to :launch do
46
53
  invoke :'passenger:restart'
@@ -50,7 +57,17 @@ end
50
57
 
51
58
  desc "Restarts the passenger server."
52
59
  task :restart do
60
+ set :term_mode, :pretty
61
+ to :before do
62
+ queue %(
63
+ echo "-----> Copying files"
64
+ #{echo_cmd %[cp deploy/last_version deploy/last_version_2]}
65
+ )
66
+ end
53
67
  invoke :'passenger:restart'
68
+ to :after do
69
+ queue "echo '-----> After'"
70
+ end
54
71
  end
55
72
 
56
73
  namespace :passenger do
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: mina
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.3.3
4
+ version: 0.3.4
5
5
  platform: ruby
6
6
  authors:
7
7
  - Rico Sta. Cruz
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2015-03-10 00:00:00.000000000 Z
12
+ date: 2015-03-27 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: rake
@@ -100,6 +100,7 @@ files:
100
100
  - lib/mina/foreman.rb
101
101
  - lib/mina/git.rb
102
102
  - lib/mina/helpers.rb
103
+ - lib/mina/local_helpers.rb
103
104
  - lib/mina/npm.rb
104
105
  - lib/mina/output_helpers.rb
105
106
  - lib/mina/rails.rb
@@ -137,6 +138,7 @@ files:
137
138
  - support/Readme-header.md
138
139
  - support/guide.md
139
140
  - support/index.html
141
+ - support/third_party_modules.md
140
142
  - support/to_md.rb
141
143
  - test_env/config/deploy.rb
142
144
  homepage: http://github.com/nadarei/mina