capistrano-rsync-bladrak 1.0.6 → 1.1.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.
- checksums.yaml +4 -4
- data/CHANGELOG.md +3 -0
- data/README.md +2 -1
- data/lib/capistrano/rsync/version.rb +1 -1
- data/lib/capistrano/rsync.rb +45 -10
- metadata +10 -10
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 791363f9b4401035fac5812216e69f4ff4e22ffa
|
4
|
+
data.tar.gz: be0a78abd93cfad6ae1fe1b5dddfc545282a0f2e
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 8bb79f4dce51ef3cdbafc311240e97dc78d6284cf54ce7f285f2a6359253cd7bdf7a8db62a87fce24c17ca76e2c08a04e10b21c88c63c965424deec3810c8b75
|
7
|
+
data.tar.gz: fd13d028dd808f8379f4803578933f0caef2f6edb37195c68849e4b1508bd2e03828fc1d6a5d587a33eba0fbd981453c261cc93f720cd4cc304ac4c935c7eccc
|
data/CHANGELOG.md
CHANGED
data/README.md
CHANGED
@@ -98,7 +98,8 @@ repo_url | `.` | The path or URL to a Git repository to clone from.
|
|
98
98
|
branch | `master` | The Git branch to checkout.
|
99
99
|
rsync_stage | `tmp/deploy` | Path where to clone your repository for staging, checkouting and rsyncing. Can be both relative or absolute.
|
100
100
|
rsync_cache | `shared/deploy` | Path where to cache your repository on the server to avoid rsyncing from scratch each time. Can be both relative or absolute.<br> Set to `nil` if you want to disable the cache.
|
101
|
-
rsync_options | `[]` | Array of options to pass to `rsync`.
|
101
|
+
rsync_options | `[]` | Array of options to pass to `rsync`.
|
102
|
+
rsync_sparse_checkout | `[]` | Array of directories to checkout (checks out all if empty)
|
102
103
|
|
103
104
|
|
104
105
|
License
|
data/lib/capistrano/rsync.rb
CHANGED
@@ -5,6 +5,7 @@ namespace :load do
|
|
5
5
|
|
6
6
|
set :rsync_options, []
|
7
7
|
set :rsync_copy, "rsync --archive --acls --xattrs"
|
8
|
+
set :rsync_sparse_checkout, []
|
8
9
|
|
9
10
|
# Stage is used on your local machine for rsyncing from.
|
10
11
|
set :rsync_stage, "tmp/deploy"
|
@@ -44,8 +45,6 @@ task :rsync => %w[rsync:stage] do
|
|
44
45
|
rsync << File.join(fetch(:rsync_stage), File.join(fetch(:rsync_target_dir), ""))
|
45
46
|
rsync << "#{user}#{role.hostname}:#{rsync_cache.call || release_path}"
|
46
47
|
|
47
|
-
puts "Executing rsync: #{rsync}"
|
48
|
-
|
49
48
|
Kernel.system *rsync
|
50
49
|
end
|
51
50
|
end
|
@@ -68,12 +67,51 @@ namespace :rsync do
|
|
68
67
|
task :create_stage do
|
69
68
|
next if File.directory?(fetch(:rsync_stage))
|
70
69
|
|
71
|
-
|
72
|
-
|
73
|
-
|
74
|
-
|
70
|
+
if fetch(:rsync_sparse_checkout, []).any?
|
71
|
+
invoke "rsync:create_stage:sparse"
|
72
|
+
else
|
73
|
+
invoke "rsync:create_stage:clone"
|
74
|
+
end
|
75
|
+
end
|
76
|
+
|
77
|
+
namespace :create_stage do
|
78
|
+
task :sparse do
|
79
|
+
init = %W[git init]
|
80
|
+
init << fetch(:rsync_stage)
|
81
|
+
|
82
|
+
Kernel.system *init
|
83
|
+
|
84
|
+
Dir.chdir fetch(:rsync_stage) do
|
85
|
+
remote = %W[git remote add -f origin]
|
86
|
+
remote << fetch(:repo_url)
|
87
|
+
Kernel.system *remote
|
75
88
|
|
76
|
-
|
89
|
+
sparse = %W[git config core.sparsecheckout true]
|
90
|
+
Kernel.system *sparse
|
91
|
+
|
92
|
+
sparse_dir = %W[mkdir .git/info]
|
93
|
+
Kernel.system *sparse_dir
|
94
|
+
|
95
|
+
fetch(:rsync_sparse_checkout).each do |sparse_dir|
|
96
|
+
sparse_checkout = %W[echo]
|
97
|
+
sparse_checkout << sparse_dir
|
98
|
+
sparse_checkout << ">>"
|
99
|
+
sparse_checkout << ".git/info/sparse-checkout"
|
100
|
+
Kernel.system *sparse_checkout
|
101
|
+
end
|
102
|
+
|
103
|
+
pull = %W[git pull origin]
|
104
|
+
pull << fetch(:rsync_stage)
|
105
|
+
Kernel.system *pull
|
106
|
+
end
|
107
|
+
end
|
108
|
+
|
109
|
+
task :clone do
|
110
|
+
clone = %W[git clone]
|
111
|
+
clone << fetch(:repo_url, ".")
|
112
|
+
clone << fetch(:rsync_stage)
|
113
|
+
Kernel.system *clone
|
114
|
+
end
|
77
115
|
end
|
78
116
|
|
79
117
|
desc "Stage the repository in a local directory."
|
@@ -81,11 +119,9 @@ namespace :rsync do
|
|
81
119
|
Dir.chdir fetch(:rsync_stage) do
|
82
120
|
update = %W[git fetch --quiet --all --prune]
|
83
121
|
Kernel.system *update
|
84
|
-
puts "Executing rsync:stage:update #{update}"
|
85
122
|
|
86
123
|
target = !!fetch(:rsync_checkout_tag, false) ? "tags/#{fetch(:branch)}" : "origin/#{fetch(:branch)}"
|
87
124
|
checkout = %W[git reset --hard #{target}]
|
88
|
-
puts "Executing rsync:stage:checkout #{checkout}"
|
89
125
|
|
90
126
|
Kernel.system *checkout
|
91
127
|
end
|
@@ -97,7 +133,6 @@ namespace :rsync do
|
|
97
133
|
next if !fetch(:rsync_cache)
|
98
134
|
|
99
135
|
copy = %(#{fetch(:rsync_copy)} "#{rsync_cache.call}/" "#{release_path}/")
|
100
|
-
puts "Executing rsync:release #{copy}"
|
101
136
|
on roles(:all).each do execute copy end
|
102
137
|
end
|
103
138
|
|
metadata
CHANGED
@@ -1,33 +1,33 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: capistrano-rsync-bladrak
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.0
|
4
|
+
version: 1.1.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Andri Möll, Hugo Briand
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2015-02-17 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: capistrano
|
15
15
|
requirement: !ruby/object:Gem::Requirement
|
16
16
|
requirements:
|
17
|
-
- -
|
17
|
+
- - ">="
|
18
18
|
- !ruby/object:Gem::Version
|
19
19
|
version: 3.0.0.pre14
|
20
|
-
- - <
|
20
|
+
- - "<"
|
21
21
|
- !ruby/object:Gem::Version
|
22
22
|
version: '4'
|
23
23
|
type: :runtime
|
24
24
|
prerelease: false
|
25
25
|
version_requirements: !ruby/object:Gem::Requirement
|
26
26
|
requirements:
|
27
|
-
- -
|
27
|
+
- - ">="
|
28
28
|
- !ruby/object:Gem::Version
|
29
29
|
version: 3.0.0.pre14
|
30
|
-
- - <
|
30
|
+
- - "<"
|
31
31
|
- !ruby/object:Gem::Version
|
32
32
|
version: '4'
|
33
33
|
description: "Deploy with Rsync to your server from any local (or remote) repository.
|
@@ -39,7 +39,7 @@ executables: []
|
|
39
39
|
extensions: []
|
40
40
|
extra_rdoc_files: []
|
41
41
|
files:
|
42
|
-
- .gitignore
|
42
|
+
- ".gitignore"
|
43
43
|
- CHANGELOG.md
|
44
44
|
- LICENSE
|
45
45
|
- Makefile
|
@@ -57,17 +57,17 @@ require_paths:
|
|
57
57
|
- lib
|
58
58
|
required_ruby_version: !ruby/object:Gem::Requirement
|
59
59
|
requirements:
|
60
|
-
- -
|
60
|
+
- - ">="
|
61
61
|
- !ruby/object:Gem::Version
|
62
62
|
version: '0'
|
63
63
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
64
64
|
requirements:
|
65
|
-
- -
|
65
|
+
- - ">="
|
66
66
|
- !ruby/object:Gem::Version
|
67
67
|
version: '0'
|
68
68
|
requirements: []
|
69
69
|
rubyforge_project:
|
70
|
-
rubygems_version: 2.
|
70
|
+
rubygems_version: 2.4.5
|
71
71
|
signing_key:
|
72
72
|
specification_version: 4
|
73
73
|
summary: Deploy with Rsync from any local (or remote) repository. Capistrano v3 ready!
|