capistrano-bundle_rsync 0.3.1 → 0.3.2

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 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.