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 +4 -4
- data/CHANGELOG.md +6 -0
- data/README.md +40 -3
- data/capistrano-bundle_rsync.gemspec +1 -1
- data/lib/capistrano/bundle_rsync/bundler.rb +1 -0
- metadata +3 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: a272976a4fc18a543cf265e06f8b6a3f009d9e84
|
4
|
+
data.tar.gz: 0351532a2684c6a52e840bd360c7d60893fb740b
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: af113b310aeb9f769ae225c430faf78dd719220be932ad5d9b1dc4ec5911a0f2f6f8a6129b9ad831f488cedf7b657dcfdf3029040a36cf7bc6412d901ce9fc0f
|
7
|
+
data.tar.gz: 9e689d2e32b55d2f1cebc2806eb710fef31930616db97f604d5d6022cd31ab36d3731091abf1555b21a8443776dd7895446a4a1fb602b3d7cde1cf80356d2a35
|
data/CHANGELOG.md
CHANGED
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
|
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
|
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.
|
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.
|
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-
|
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.
|
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.
|