git-deploy 0.6.1 → 0.7.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 +7 -0
- data/README.markdown +1 -1
- data/lib/git_deploy/configuration.rb +11 -2
- data/lib/git_deploy/ssh_methods.rb +1 -1
- data/lib/git_deploy/templates/before_restart.rb +7 -2
- data/spec/configuration_spec.rb +20 -0
- metadata +30 -38
checksums.yaml
ADDED
@@ -0,0 +1,7 @@
|
|
1
|
+
---
|
2
|
+
SHA256:
|
3
|
+
metadata.gz: 0a6cd9239e4c0ed5487001d0b032bcc75dad6b1ee47ffff60c007f1779cd28aa
|
4
|
+
data.tar.gz: acdc7b0a118ecd76d582a794fe578f0b55c5290a959cb7f24fcb6a6f3f8e1183
|
5
|
+
SHA512:
|
6
|
+
metadata.gz: 6d15238e1f83ab539f5571915ee574ab9afc7654a0548111ea768fbec1f053e4c950c9fbdbefe8a1a63e401a4fbb1488363757a9085a5dc013897884aa1d107b
|
7
|
+
data.tar.gz: 317303faddb9a98b0a12341a32d245eebcaebb3294b7820010d5937ca968343872edddab97bd51fa0d80b686c9b163cadecafa42cbe32325736331e06b223672
|
data/README.markdown
CHANGED
@@ -125,7 +125,7 @@ Extra commands
|
|
125
125
|
* `git deploy restart` - Runs the `deploy/restart` callback
|
126
126
|
|
127
127
|
* `git deploy rollback` - Undo a deploy by checking out the previous revision,
|
128
|
-
runs `deploy/
|
128
|
+
runs `deploy/rollback` if exists instead of `deploy/after_push`
|
129
129
|
|
130
130
|
* `git deploy upload <files>` - Copy local files to the remote app
|
131
131
|
|
@@ -9,7 +9,16 @@ class GitDeploy
|
|
9
9
|
extend Forwardable
|
10
10
|
def_delegator :remote_url, :host
|
11
11
|
def_delegator :remote_url, :port, :remote_port
|
12
|
-
|
12
|
+
|
13
|
+
def deploy_to
|
14
|
+
@deploy_to ||= begin
|
15
|
+
if remote_url.path.start_with? '/~/'
|
16
|
+
remote_url.path[1..-1]
|
17
|
+
else
|
18
|
+
remote_url.path
|
19
|
+
end
|
20
|
+
end
|
21
|
+
end
|
13
22
|
|
14
23
|
def remote_user
|
15
24
|
@user ||= begin
|
@@ -35,7 +44,7 @@ class GitDeploy
|
|
35
44
|
|
36
45
|
def remote_urls(remote)
|
37
46
|
git_config["remote -v"].to_s.split("\n").
|
38
|
-
select {|l| l =~ /^#{remote}\t
|
47
|
+
select {|l| l =~ /^#{remote}\t.+/ }.
|
39
48
|
map {|l| l.split("\t")[1].sub(/\s+\(.+?\)$/, '') }
|
40
49
|
end
|
41
50
|
|
@@ -21,12 +21,17 @@ end
|
|
21
21
|
if File.file? 'Rakefile'
|
22
22
|
tasks = []
|
23
23
|
|
24
|
-
|
24
|
+
if File.exist?('db/migrate')
|
25
|
+
num_migrations = `git diff #{oldrev} #{newrev} --diff-filter=A --name-only -z -- db/migrate`.split("\0").size
|
26
|
+
else
|
27
|
+
num_migrations = 0
|
28
|
+
end
|
29
|
+
|
25
30
|
# run migrations if new ones have been added
|
26
31
|
tasks << "db:migrate" if num_migrations > 0
|
27
32
|
|
28
33
|
# precompile assets
|
29
|
-
changed_assets = `git diff #{oldrev} #{newrev} --name-only -z app/assets`.split("\0")
|
34
|
+
changed_assets = `git diff #{oldrev} #{newrev} --name-only -z -- app/assets`.split("\0")
|
30
35
|
tasks << "assets:precompile" if changed_assets.size > 0
|
31
36
|
|
32
37
|
run "#{rake_cmd} #{tasks.join(' ')} RAILS_ENV=#{RAILS_ENV}" if tasks.any?
|
data/spec/configuration_spec.rb
CHANGED
@@ -43,6 +43,26 @@ describe GitDeploy::Configuration do
|
|
43
43
|
its(:remote_user) { should eq('git') }
|
44
44
|
its(:deploy_to) { should eq('/path/to/app') }
|
45
45
|
end
|
46
|
+
|
47
|
+
context "scp-style with home" do
|
48
|
+
before { stub_remote_url 'git@example.com:~/path/to/app' }
|
49
|
+
|
50
|
+
its(:host) { should eq('example.com') }
|
51
|
+
its(:remote_port) { should be_nil }
|
52
|
+
its(:remote_user) { should eq('git') }
|
53
|
+
its(:deploy_to) { should eq('~/path/to/app') }
|
54
|
+
end
|
55
|
+
|
56
|
+
context "pushurl only" do
|
57
|
+
before {
|
58
|
+
remote = options.fetch(:remote)
|
59
|
+
url = 'git@example.com:/path/to/app'
|
60
|
+
stub_git_config("remote -v", "#{remote}\t\n#{remote}\t#{url} (push)")
|
61
|
+
}
|
62
|
+
|
63
|
+
its(:host) { should eq('example.com') }
|
64
|
+
its(:remote_user) { should eq('git') }
|
65
|
+
end
|
46
66
|
end
|
47
67
|
|
48
68
|
end
|
metadata
CHANGED
@@ -1,64 +1,57 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: git-deploy
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
|
5
|
-
version: 0.6.1
|
4
|
+
version: 0.7.0
|
6
5
|
platform: ruby
|
7
6
|
authors:
|
8
7
|
- Mislav Marohnić
|
9
8
|
autorequire:
|
10
9
|
bindir: bin
|
11
10
|
cert_chain: []
|
12
|
-
date:
|
11
|
+
date: 2019-03-22 00:00:00.000000000 Z
|
13
12
|
dependencies:
|
14
13
|
- !ruby/object:Gem::Dependency
|
15
|
-
prerelease: false
|
16
|
-
type: :runtime
|
17
|
-
version_requirements: !ruby/object:Gem::Requirement
|
18
|
-
none: false
|
19
|
-
requirements:
|
20
|
-
- - '='
|
21
|
-
- !ruby/object:Gem::Version
|
22
|
-
version: 0.14.6
|
23
14
|
name: thor
|
24
15
|
requirement: !ruby/object:Gem::Requirement
|
25
|
-
none: false
|
26
16
|
requirements:
|
27
17
|
- - '='
|
28
18
|
- !ruby/object:Gem::Version
|
29
19
|
version: 0.14.6
|
30
|
-
- !ruby/object:Gem::Dependency
|
31
|
-
prerelease: false
|
32
20
|
type: :runtime
|
21
|
+
prerelease: false
|
33
22
|
version_requirements: !ruby/object:Gem::Requirement
|
34
|
-
none: false
|
35
23
|
requirements:
|
36
|
-
- -
|
24
|
+
- - '='
|
37
25
|
- !ruby/object:Gem::Version
|
38
|
-
version:
|
26
|
+
version: 0.14.6
|
27
|
+
- !ruby/object:Gem::Dependency
|
39
28
|
name: net-ssh
|
40
29
|
requirement: !ruby/object:Gem::Requirement
|
41
|
-
none: false
|
42
30
|
requirements:
|
43
|
-
- - ~>
|
31
|
+
- - "~>"
|
44
32
|
- !ruby/object:Gem::Version
|
45
|
-
version:
|
46
|
-
- !ruby/object:Gem::Dependency
|
47
|
-
prerelease: false
|
33
|
+
version: '5.0'
|
48
34
|
type: :runtime
|
35
|
+
prerelease: false
|
49
36
|
version_requirements: !ruby/object:Gem::Requirement
|
50
|
-
none: false
|
51
37
|
requirements:
|
52
|
-
- - ~>
|
38
|
+
- - "~>"
|
53
39
|
- !ruby/object:Gem::Version
|
54
|
-
version:
|
40
|
+
version: '5.0'
|
41
|
+
- !ruby/object:Gem::Dependency
|
55
42
|
name: net-scp
|
56
43
|
requirement: !ruby/object:Gem::Requirement
|
57
|
-
none: false
|
58
44
|
requirements:
|
59
|
-
- - ~>
|
45
|
+
- - "~>"
|
46
|
+
- !ruby/object:Gem::Version
|
47
|
+
version: '1.1'
|
48
|
+
type: :runtime
|
49
|
+
prerelease: false
|
50
|
+
version_requirements: !ruby/object:Gem::Requirement
|
51
|
+
requirements:
|
52
|
+
- - "~>"
|
60
53
|
- !ruby/object:Gem::Version
|
61
|
-
version: 1.1
|
54
|
+
version: '1.1'
|
62
55
|
description: A tool to install useful git hooks on your remote repository to enable
|
63
56
|
push-based, Heroku-like deployment on your host.
|
64
57
|
email: mislav.marohnic@gmail.com
|
@@ -67,41 +60,40 @@ executables:
|
|
67
60
|
extensions: []
|
68
61
|
extra_rdoc_files: []
|
69
62
|
files:
|
63
|
+
- LICENSE
|
64
|
+
- README.markdown
|
70
65
|
- bin/git-deploy
|
66
|
+
- lib/git_deploy.rb
|
71
67
|
- lib/git_deploy/configuration.rb
|
72
68
|
- lib/git_deploy/generator.rb
|
73
69
|
- lib/git_deploy/ssh_methods.rb
|
74
70
|
- lib/git_deploy/templates/after_push.sh
|
75
71
|
- lib/git_deploy/templates/before_restart.rb
|
76
72
|
- lib/git_deploy/templates/restart.sh
|
77
|
-
- lib/git_deploy.rb
|
78
73
|
- lib/hooks/post-receive.sh
|
79
74
|
- spec/configuration_spec.rb
|
80
|
-
- README.markdown
|
81
|
-
- LICENSE
|
82
75
|
homepage: https://github.com/mislav/git-deploy#readme
|
83
76
|
licenses:
|
84
77
|
- MIT
|
78
|
+
metadata: {}
|
85
79
|
post_install_message:
|
86
80
|
rdoc_options: []
|
87
81
|
require_paths:
|
88
82
|
- lib
|
89
83
|
required_ruby_version: !ruby/object:Gem::Requirement
|
90
|
-
none: false
|
91
84
|
requirements:
|
92
|
-
- -
|
85
|
+
- - ">="
|
93
86
|
- !ruby/object:Gem::Version
|
94
|
-
version:
|
87
|
+
version: 2.2.6
|
95
88
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
96
|
-
none: false
|
97
89
|
requirements:
|
98
|
-
- -
|
90
|
+
- - ">="
|
99
91
|
- !ruby/object:Gem::Version
|
100
92
|
version: '0'
|
101
93
|
requirements: []
|
102
94
|
rubyforge_project:
|
103
|
-
rubygems_version:
|
95
|
+
rubygems_version: 2.7.6.2
|
104
96
|
signing_key:
|
105
|
-
specification_version:
|
97
|
+
specification_version: 4
|
106
98
|
summary: Simple git push-based application deployment
|
107
99
|
test_files: []
|