inploy 1.6.8 → 1.7.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.
data/README.textile CHANGED
@@ -116,6 +116,8 @@ branch = 'production' # default master
116
116
  sudo = true # default false
117
117
  cache_dirs = ['public/cache', 'tmp/cache'] # default ['public/cache']
118
118
  skip_steps = ['install_gems', 'clear_cache'] # default []
119
+ app_folder = 'project_folder' # default empty
120
+ login_shell = true # default false
119
121
  </code></pre>
120
122
 
121
123
  h2. SKIP STEPS
data/Rakefile CHANGED
@@ -5,7 +5,7 @@ require 'rake/gempackagetask'
5
5
  require 'spec/rake/spectask'
6
6
 
7
7
  GEM = "inploy"
8
- GEM_VERSION = "1.6.8"
8
+ GEM_VERSION = "1.7.0"
9
9
  SUMMARY = "Rails deployment made easy"
10
10
  AUTHOR = "Diego Carrion"
11
11
  EMAIL = "dc.rec1@gmail.com"
data/lib/inploy/cli.rb CHANGED
@@ -16,7 +16,8 @@ module Inploy
16
16
 
17
17
  def self.parse(param)
18
18
  if param.include? '='
19
- { :from => param.sub("from=", "") }
19
+ keys = param.split "="
20
+ { keys.first.to_sym => keys.last }
20
21
  else
21
22
  param
22
23
  end
data/lib/inploy/deploy.rb CHANGED
@@ -3,8 +3,8 @@ module Inploy
3
3
  include Helper
4
4
  include DSL
5
5
 
6
- attr_accessor :repository, :user, :application, :hosts, :path, :ssh_opts, :branch, :environment,
7
- :port, :skip_steps, :cache_dirs, :sudo
6
+ attr_accessor :repository, :user, :application, :hosts, :path, :app_folder, :ssh_opts, :branch, :environment,
7
+ :port, :skip_steps, :cache_dirs, :sudo, :login_shell
8
8
 
9
9
  define_callbacks :after_setup, :before_restarting_server
10
10
 
@@ -15,6 +15,7 @@ module Inploy
15
15
  @environment = 'production'
16
16
  @user = "deploy"
17
17
  @path = "/var/local/apps"
18
+ @app_folder = nil
18
19
  configure
19
20
  end
20
21
 
@@ -40,7 +41,7 @@ module Inploy
40
41
  end
41
42
 
42
43
  def remote_setup
43
- remote_run "cd #{path} && #{@sudo}git clone --depth 1 #{repository} #{application} && cd #{application} #{checkout}#{bundle} && #{@sudo}rake inploy:local:setup environment=#{environment}#{skip_steps_cmd}"
44
+ remote_run "cd #{path} && #{@sudo}git clone --depth 1 #{repository} #{application} && cd #{application_folder} #{checkout}#{bundle} && #{@sudo}rake inploy:local:setup environment=#{environment}#{skip_steps_cmd}"
44
45
  end
45
46
 
46
47
  def local_setup
@@ -60,6 +61,10 @@ module Inploy
60
61
  remote_run "cd #{application_path} && rake #{task} RAILS_ENV=#{environment}"
61
62
  end
62
63
 
64
+ def remote_reset(params)
65
+ remote_run "cd #{application_path} && git reset --hard #{params[:to]}"
66
+ end
67
+
63
68
  def local_update
64
69
  update_code
65
70
  after_update_code
@@ -80,7 +85,7 @@ module Inploy
80
85
  end
81
86
 
82
87
  def after_update_code
83
- run "git submodule update --init"
88
+ run "cd #{path}/#{application} && git submodule update --init && cd #{path}/#{application}/#{app_folder}"
84
89
  copy_sample_files
85
90
  return unless install_gems
86
91
  migrate_database
data/lib/inploy/dsl.rb CHANGED
@@ -69,10 +69,14 @@ module Inploy
69
69
  def remote_run(command)
70
70
  port_opts = port ? "-p #{port} " : ''
71
71
  hosts.each do |host|
72
- run "ssh #{ssh_opts} #{port_opts}#{user}@#{host} '#{command}'", true
72
+ run "ssh #{ssh_opts} #{port_opts}#{user}@#{host} #{login_shell_wrap(command)}", true
73
73
  end
74
74
  end
75
75
 
76
+ def login_shell_wrap(cmd)
77
+ login_shell ? "\"sh -l -c '#{cmd}'\"" : "'#{cmd}'"
78
+ end
79
+
76
80
  def secure_copy(src, dest)
77
81
  unless file_exists?(dest)
78
82
  log "mv #{src} #{dest}"
data/lib/inploy/helper.rb CHANGED
@@ -33,7 +33,11 @@ module Inploy
33
33
  end
34
34
 
35
35
  def application_path
36
- "#{path}/#{application}"
36
+ app_folder.nil? ? "#{path}/#{application}" : "#{path}/#{application}/#{app_folder}"
37
+ end
38
+
39
+ def application_folder
40
+ app_folder.nil? ? application : "#{application}/#{app_folder}"
37
41
  end
38
42
 
39
43
  def copy_sample_files
@@ -53,7 +57,7 @@ module Inploy
53
57
  end
54
58
 
55
59
  def bundle_cmd
56
- "bundle install ~/.bundle --without development test"
60
+ "bundle install --path ~/.bundle --without development test"
57
61
  end
58
62
 
59
63
  def bundle_install
@@ -47,7 +47,7 @@ module Inploy
47
47
  command << "git reset --hard"
48
48
  command << "git clean -f -d"
49
49
  command << "git submodule update --init"
50
- command << "bundle install"
50
+ command << "bundle install --deployment"
51
51
  remote_run command.join(' && ')
52
52
  end
53
53
 
@@ -6,6 +6,7 @@ deploy = Inploy::Deploy.new
6
6
  deploy.environment = ENV['environment'] || deploy.environment
7
7
  deploy.skip_steps = ENV['skip_steps'].split(',') unless ENV['skip_steps'].nil?
8
8
 
9
+
9
10
  namespace :inploy do
10
11
  namespace :local do
11
12
  desc "Local Setup"
@@ -39,3 +40,8 @@ namespace :inploy do
39
40
  desc "Alias to Remote Update"
40
41
  task :up => "remote:update"
41
42
  end
43
+
44
+ namespace :in do
45
+ desc "Alias to Remote Update"
46
+ task :up => "remote:update"
47
+ end
metadata CHANGED
@@ -1,12 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: inploy
3
3
  version: !ruby/object:Gem::Version
4
+ hash: 11
4
5
  prerelease: false
5
6
  segments:
6
7
  - 1
7
- - 6
8
- - 8
9
- version: 1.6.8
8
+ - 7
9
+ - 0
10
+ version: 1.7.0
10
11
  platform: ruby
11
12
  authors:
12
13
  - Diego Carrion
@@ -14,7 +15,7 @@ autorequire:
14
15
  bindir: bin
15
16
  cert_chain: []
16
17
 
17
- date: 2010-08-18 00:00:00 -03:00
18
+ date: 2010-10-16 23:00:00 -03:00
18
19
  default_executable:
19
20
  dependencies: []
20
21
 
@@ -57,6 +58,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
57
58
  requirements:
58
59
  - - ">="
59
60
  - !ruby/object:Gem::Version
61
+ hash: 3
60
62
  segments:
61
63
  - 0
62
64
  version: "0"
@@ -65,6 +67,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
65
67
  requirements:
66
68
  - - ">="
67
69
  - !ruby/object:Gem::Version
70
+ hash: 3
68
71
  segments:
69
72
  - 0
70
73
  version: "0"