pave 0.11.2 → 0.12.0.rc1
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/README.md +1 -5
- data/bin/pave +9 -0
- data/lib/pave/files.rb +15 -8
- data/lib/pave/remote.rb +2 -7
- data/lib/pave/version.rb +1 -1
- data/resources/deploy.sh +1 -4
- metadata +21 -21
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: ee3b26614af6ef5ee8b795c41f5612e11ecab9fa
|
4
|
+
data.tar.gz: f396a4f33229e3bca509d7df8899aee82481b565
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 53d7a5ada8f5320667b6ae1526b1f6a07754119138b9d0ca3450ce570f4098e4d029c931c3eb104ec70700df9a31695415a72994163e8deee55a5b91a24b61b6
|
7
|
+
data.tar.gz: b0a863b9bb0b74ea175e26e9049d97ccb5f8de6149368b75542b173e03235cd13549fae6eb25834cf8f581a1a797de15caafc09c3b72dec5f9a58b8708b4e521
|
data/README.md
CHANGED
@@ -28,16 +28,12 @@ This:
|
|
28
28
|
|
29
29
|
$ pave deploy:setup
|
30
30
|
|
31
|
-
This sets up a Git-based deployment script to the remote server and deploys an initial version. SSH access is required.
|
31
|
+
This sets up a Git-based deployment script to the remote server and deploys an initial version. SSH access is required.
|
32
32
|
|
33
33
|
$ pave deploy
|
34
34
|
|
35
35
|
Deploys the site using git. Files and databases are not deployed (see below for how to do that).
|
36
36
|
|
37
|
-
$ pave deploy staging feature-branch
|
38
|
-
|
39
|
-
Deploys feature-branch to staging remote.
|
40
|
-
|
41
37
|
## Database
|
42
38
|
|
43
39
|
$ pave db:create mydatabase
|
data/bin/pave
CHANGED
@@ -240,6 +240,15 @@ command :"files:push" do |c|
|
|
240
240
|
end
|
241
241
|
end
|
242
242
|
|
243
|
+
command :"files:sync" do |c|
|
244
|
+
c.syntax = "pave files:sync"
|
245
|
+
c.description = "Syncronize local and remote files directories."
|
246
|
+
c.action do |args|
|
247
|
+
remote = args.first || "live"
|
248
|
+
Pave::Files.sync(remote)
|
249
|
+
end
|
250
|
+
end
|
251
|
+
|
243
252
|
command :"generate:theme" do |c|
|
244
253
|
c.syntax = "pave generate:theme THEME_NAME"
|
245
254
|
c.description = "Set up a blank theme with sass."
|
data/lib/pave/files.rb
CHANGED
@@ -2,27 +2,34 @@ module Pave
|
|
2
2
|
class Files
|
3
3
|
include Pave::Shell
|
4
4
|
|
5
|
+
def self.exclusions
|
6
|
+
" --exclude 'files/tmp' --exclude 'files/cache' "
|
7
|
+
end
|
8
|
+
|
9
|
+
def self.flags
|
10
|
+
" -uazh ssh --progress "
|
11
|
+
end
|
12
|
+
|
5
13
|
def self.clear_cache
|
6
14
|
sh "rm -rf ./files/tmp/*; rm -rf ./files/cache/*;"
|
7
15
|
end
|
8
16
|
|
9
17
|
def self.push(remote="live")
|
10
|
-
clear_cache
|
11
18
|
server = Pave::Remote.server(remote)
|
12
19
|
directory = Pave::Remote.directory(remote)
|
13
|
-
sh "
|
14
|
-
sh "ssh #{server} 'cd #{directory};
|
15
|
-
mv ./files ./old_files;
|
16
|
-
mv ./local_files ./files && rm -rf ./old_files;'"
|
20
|
+
sh "rsync #{flags} #{exclusions} ./files #{server}:#{directory}/files"
|
17
21
|
end
|
18
22
|
|
19
23
|
def self.pull(remote="live")
|
20
24
|
server = Pave::Remote.server(remote)
|
21
25
|
directory = Pave::Remote.directory(remote)
|
22
|
-
sh "
|
23
|
-
mv ./files ./old_files;
|
24
|
-
mv ./remote_files ./files && rm -rf ./old_files;"
|
26
|
+
sh "rsync #{flags} #{exclusions} #{server}:#{directory}/files ./files"
|
25
27
|
clear_cache
|
26
28
|
end
|
29
|
+
|
30
|
+
def self.sync(remote="live")
|
31
|
+
pull(remote)
|
32
|
+
push(remote)
|
33
|
+
end
|
27
34
|
end
|
28
35
|
end
|
data/lib/pave/remote.rb
CHANGED
@@ -4,7 +4,7 @@ module Pave
|
|
4
4
|
|
5
5
|
def self.setup
|
6
6
|
server = ask "Username and hostname of the remote server (e.g. user@server.com): "
|
7
|
-
folder = ask "Name of the remote directory (e.g. ~/webapps/appname): "
|
7
|
+
folder = ask "Name of the remote directory (e.g. ~/webapps/appname/): "
|
8
8
|
remote = ask "Desired git remote name (e.g. live): "
|
9
9
|
script = File.join(File.expand_path("../..", File.dirname(__FILE__)), "resources/deploy.sh")
|
10
10
|
|
@@ -23,12 +23,7 @@ module Pave
|
|
23
23
|
|
24
24
|
def self.url(remote="live")
|
25
25
|
remotes = shell("git remote -v").output
|
26
|
-
|
27
|
-
remotes.match(/#{remote}\s+(.*)\s+\(push\)/)[1]
|
28
|
-
rescue NoMethodError
|
29
|
-
puts "Could not find remote named #{remote}. Please run `pave deploy:setup` to create it."
|
30
|
-
exit
|
31
|
-
end
|
26
|
+
remotes.match(/#{remote}\s+(.*)\s+\(push\)/)[1]
|
32
27
|
end
|
33
28
|
|
34
29
|
def self.server(remote="live")
|
data/lib/pave/version.rb
CHANGED
data/resources/deploy.sh
CHANGED
@@ -3,9 +3,6 @@ if [ ! -d 'deploy.git' ]; then
|
|
3
3
|
mkdir deploy.git && cd deploy.git
|
4
4
|
git init --bare
|
5
5
|
echo '#!/bin/sh' > hooks/post-receive
|
6
|
-
echo '
|
7
|
-
echo 'do' >> hooks/post-receive
|
8
|
-
echo 'GIT_WORK_TREE=.. git checkout -f -B `basename "$ref"` "$newrev"' >> hooks/post-receive
|
9
|
-
echo 'done' >> hooks/post-receive
|
6
|
+
echo 'GIT_WORK_TREE=.. git checkout -f' >> hooks/post-receive
|
10
7
|
chmod +x hooks/post-receive
|
11
8
|
fi
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: pave
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.12.0.rc1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Jamon Holmgren
|
@@ -9,76 +9,76 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2014-02-
|
12
|
+
date: 2014-02-13 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: bundler
|
16
16
|
requirement: !ruby/object:Gem::Requirement
|
17
17
|
requirements:
|
18
|
-
- - ~>
|
18
|
+
- - "~>"
|
19
19
|
- !ruby/object:Gem::Version
|
20
20
|
version: '1.3'
|
21
21
|
type: :development
|
22
22
|
prerelease: false
|
23
23
|
version_requirements: !ruby/object:Gem::Requirement
|
24
24
|
requirements:
|
25
|
-
- - ~>
|
25
|
+
- - "~>"
|
26
26
|
- !ruby/object:Gem::Version
|
27
27
|
version: '1.3'
|
28
28
|
- !ruby/object:Gem::Dependency
|
29
29
|
name: rdoc
|
30
30
|
requirement: !ruby/object:Gem::Requirement
|
31
31
|
requirements:
|
32
|
-
- - ~>
|
32
|
+
- - "~>"
|
33
33
|
- !ruby/object:Gem::Version
|
34
34
|
version: '4.1'
|
35
35
|
type: :development
|
36
36
|
prerelease: false
|
37
37
|
version_requirements: !ruby/object:Gem::Requirement
|
38
38
|
requirements:
|
39
|
-
- - ~>
|
39
|
+
- - "~>"
|
40
40
|
- !ruby/object:Gem::Version
|
41
41
|
version: '4.1'
|
42
42
|
- !ruby/object:Gem::Dependency
|
43
43
|
name: rake
|
44
44
|
requirement: !ruby/object:Gem::Requirement
|
45
45
|
requirements:
|
46
|
-
- - ~>
|
46
|
+
- - "~>"
|
47
47
|
- !ruby/object:Gem::Version
|
48
48
|
version: '10.1'
|
49
49
|
type: :development
|
50
50
|
prerelease: false
|
51
51
|
version_requirements: !ruby/object:Gem::Requirement
|
52
52
|
requirements:
|
53
|
-
- - ~>
|
53
|
+
- - "~>"
|
54
54
|
- !ruby/object:Gem::Version
|
55
55
|
version: '10.1'
|
56
56
|
- !ruby/object:Gem::Dependency
|
57
57
|
name: rspec
|
58
58
|
requirement: !ruby/object:Gem::Requirement
|
59
59
|
requirements:
|
60
|
-
- - ~>
|
60
|
+
- - "~>"
|
61
61
|
- !ruby/object:Gem::Version
|
62
62
|
version: '2'
|
63
63
|
type: :development
|
64
64
|
prerelease: false
|
65
65
|
version_requirements: !ruby/object:Gem::Requirement
|
66
66
|
requirements:
|
67
|
-
- - ~>
|
67
|
+
- - "~>"
|
68
68
|
- !ruby/object:Gem::Version
|
69
69
|
version: '2'
|
70
70
|
- !ruby/object:Gem::Dependency
|
71
71
|
name: commander
|
72
72
|
requirement: !ruby/object:Gem::Requirement
|
73
73
|
requirements:
|
74
|
-
- - ~>
|
74
|
+
- - "~>"
|
75
75
|
- !ruby/object:Gem::Version
|
76
76
|
version: '4.1'
|
77
77
|
type: :runtime
|
78
78
|
prerelease: false
|
79
79
|
version_requirements: !ruby/object:Gem::Requirement
|
80
80
|
requirements:
|
81
|
-
- - ~>
|
81
|
+
- - "~>"
|
82
82
|
- !ruby/object:Gem::Version
|
83
83
|
version: '4.1'
|
84
84
|
description: Provides a set of command line tools for Concrete5.
|
@@ -90,11 +90,11 @@ executables:
|
|
90
90
|
extensions: []
|
91
91
|
extra_rdoc_files: []
|
92
92
|
files:
|
93
|
-
- .floo
|
94
|
-
- .flooignore
|
95
|
-
- .gitignore
|
96
|
-
- .ruby-gemset
|
97
|
-
- .ruby-version
|
93
|
+
- ".floo"
|
94
|
+
- ".flooignore"
|
95
|
+
- ".gitignore"
|
96
|
+
- ".ruby-gemset"
|
97
|
+
- ".ruby-version"
|
98
98
|
- Gemfile
|
99
99
|
- Gemfile.lock
|
100
100
|
- LICENSE.txt
|
@@ -139,17 +139,17 @@ require_paths:
|
|
139
139
|
- lib
|
140
140
|
required_ruby_version: !ruby/object:Gem::Requirement
|
141
141
|
requirements:
|
142
|
-
- -
|
142
|
+
- - ">="
|
143
143
|
- !ruby/object:Gem::Version
|
144
144
|
version: 1.9.3
|
145
145
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
146
146
|
requirements:
|
147
|
-
- -
|
147
|
+
- - ">"
|
148
148
|
- !ruby/object:Gem::Version
|
149
|
-
version:
|
149
|
+
version: 1.3.1
|
150
150
|
requirements: []
|
151
151
|
rubyforge_project:
|
152
|
-
rubygems_version: 2.
|
152
|
+
rubygems_version: 2.2.0
|
153
153
|
signing_key:
|
154
154
|
specification_version: 4
|
155
155
|
summary: Provides a set of command line tools for Concrete5.
|