capistrano-bundle_rsync 0.3.1 → 0.3.2

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: ebdf49c983c8c9d0ab5e8835e9840725bd02cc91
4
- data.tar.gz: 487dd88c565d5fce1d8c1a29d930ac1cf7fdfcf3
3
+ metadata.gz: a272976a4fc18a543cf265e06f8b6a3f009d9e84
4
+ data.tar.gz: 0351532a2684c6a52e840bd360c7d60893fb740b
5
5
  SHA512:
6
- metadata.gz: 5f3b684d3a61cb297203fe35f26c473f2dbdbd7db04a925d0e182812e6f0e9d2cf68a39e9873d6b384b17557639d27a05b8b0595fa5e1dddb1730107a8e30498
7
- data.tar.gz: 0a260218af4de74a6035cc019a3833b969383c3efb1bf65b7acaac949cf9bc2045f555e2ee0c0ce67f0f7d2d16ade97b96f07ec08936f99d485a4dc8bebfd4b6
6
+ metadata.gz: af113b310aeb9f769ae225c430faf78dd719220be932ad5d9b1dc4ec5911a0f2f6f8a6129b9ad831f488cedf7b657dcfdf3029040a36cf7bc6412d901ce9fc0f
7
+ data.tar.gz: 9e689d2e32b55d2f1cebc2806eb710fef31930616db97f604d5d6022cd31ab36d3731091abf1555b21a8443776dd7895446a4a1fb602b3d7cde1cf80356d2a35
data/CHANGELOG.md CHANGED
@@ -1,3 +1,9 @@
1
+ # 0.3.2 (2014/12/11)
2
+
3
+ Changes:
4
+
5
+ * Remove `.bundle/config` to make it possible to install development gems before rake assets:precompile
6
+
1
7
  # 0.3.1 (2014/08/05)
2
8
 
3
9
  Changes:
data/README.md CHANGED
@@ -68,6 +68,7 @@ bundle_rsync_skip_bundle | false | (Secret option) Do not `bundle` and rsync bun
68
68
  ## Task Orders
69
69
 
70
70
  ```
71
+ $ cap stage deploy --trace | grep Execute
71
72
  ** Execute bundle_rsync:check
72
73
  ** Execute bundle_rsync:clone
73
74
  ** Execute bundle_rsync:update
@@ -152,7 +153,7 @@ Edit `config/deploy/localhost.rb` as followings for example:
152
153
  ```ruby
153
154
  set :branch, ENV['BRANCH'] || 'master'
154
155
  set :rbenv_type, :user
155
- set :linked_dirs, %w(log tmp/pids tmp/cache tmp/sockets vendor/bundle public/system tmp/run)
156
+ set :linked_dirs, %w(log tmp/pids tmp/cache tmp/sockets vendor/bundle tmp/run)
156
157
  set :keep_releases, 5
157
158
  set :scm, :bundle_rsync # Need this
158
159
  set :bundle_rsync_max_parallels, ENV['PARA']
@@ -179,20 +180,56 @@ $ bundle exec cap localhost deploy
179
180
  For example, if you want to precompile rails assets before rsyncing,
180
181
  you may add your own task before `bundle_rsync:rsync_release`.
181
182
 
182
- ```
183
+ ```ruby
183
184
  task :precompile do
185
+ config = Capistrano::BundleRsync::Config
184
186
  run_locally do
185
187
  Bundler.with_clean_env do
186
- within BundleRsync::Config.release_path do
188
+ within config.release_path do
189
+ execute :bundle, 'install' # install development gems
187
190
  execute :bundle, 'exec rake assets:precompile'
188
191
  end
189
192
  end
193
+
194
+ hosts = release_roles(:all)
195
+ Parallel.each(hosts, in_threads: config.max_parallels(hosts)) do |host|
196
+ execute "rsync -az -e ssh #{config.release_path}/public/ #{host}:#{fetch(:deploy_to)}/shared/public"
197
+ end
190
198
  end
191
199
  end
192
200
 
193
201
  before "bundle_rsync:rsync_release", "precompile"
194
202
  ```
195
203
 
204
+ ## local_git scm
205
+
206
+ `bundle_rsync` supports `local_git` SCM strategy in addition to `git`.
207
+
208
+ `local_git` strategy enables to rsync the git repository located on a local path without git clone. You may find as this is useful when you need to replace files locally without commit beforehand (for example, for password embedding).
209
+
210
+ Following is an example of `config/deploy/xxxx.rb`:
211
+
212
+ Please note that `repo_url` should be a different path with the path running cap.
213
+ This strategy probably fits with a rare situation, you should use the default `git` strategy usually.
214
+
215
+ ```ruby
216
+ set :branch, ENV['BRANCH'] || 'master'
217
+ set :rbenv_type, :user
218
+ set :linked_dirs, %w(log tmp/pids tmp/cache tmp/sockets vendor/bundle tmp/run)
219
+ set :keep_releases, 5
220
+ set :scm, :bundle_rsync
221
+ set :bundle_rsync_scm, 'local_git' # Set `local_git`
222
+
223
+ set :application, 'sample'
224
+ set :repo_url, "/home/sonots/sample" # Need to git clone your repository to this path beforehand.
225
+ # This path should be different with the path running cap.
226
+ set :deploy_to, "/home/sonots/sample"
227
+ set :rbenv_ruby, "2.1.2" # Required on both deploy machine and remote machines
228
+ set :ssh_options, user: 'sonots', keys: File.expand_path('~/.ssh/id_rsa')
229
+
230
+ role :app, ['127.0.0.1']
231
+ ```
232
+
196
233
  ## FAQ
197
234
 
198
235
  Q. What is difference with [capistrano-rsync](https://github.com/moll/capistrano-rsync)?
@@ -4,7 +4,7 @@ $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
4
4
 
5
5
  Gem::Specification.new do |spec|
6
6
  spec.name = "capistrano-bundle_rsync"
7
- spec.version = "0.3.1"
7
+ spec.version = "0.3.2"
8
8
  spec.authors = ["sonots", "tohae"]
9
9
  spec.email = ["sonots@gmail.com", "tohaechan@gmail.com"]
10
10
  spec.description = %q{Deploy an application and bundled gems via rsync}
@@ -4,6 +4,7 @@ class Capistrano::BundleRsync::Bundler < Capistrano::BundleRsync::Base
4
4
  def install
5
5
  Bundler.with_clean_env do
6
6
  execute :bundle, "--gemfile #{config.local_release_path}/Gemfile --deployment --quiet --path #{config.local_bundle_path} --without development test"
7
+ execute :rm, "#{config.local_release_path}/.bundle/config"
7
8
  end
8
9
  end
9
10
 
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: capistrano-bundle_rsync
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.3.1
4
+ version: 0.3.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - sonots
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2014-08-06 00:00:00.000000000 Z
12
+ date: 2014-12-11 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: capistrano
@@ -117,7 +117,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
117
117
  version: '0'
118
118
  requirements: []
119
119
  rubyforge_project:
120
- rubygems_version: 2.2.0
120
+ rubygems_version: 2.2.2
121
121
  signing_key:
122
122
  specification_version: 4
123
123
  summary: Deploy an application and bundled gems via rsync.