padma-deployment 0.1.0 → 0.2.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 +8 -8
- data/lib/tasks/deployment.rake +36 -21
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,15 +1,15 @@
|
|
1
1
|
---
|
2
2
|
!binary "U0hBMQ==":
|
3
3
|
metadata.gz: !binary |-
|
4
|
-
|
4
|
+
ZmZiOGJmOTc1YTIyMTgwOWI0MGUxNjQyN2JjZWI1YWY2MDhmYzFkZQ==
|
5
5
|
data.tar.gz: !binary |-
|
6
|
-
|
6
|
+
NDkzN2QzZDFmZmU2YjZjNDk5NGFiNDdiNzUxYTI3ZDg2ZDNlZjI2YQ==
|
7
7
|
SHA512:
|
8
8
|
metadata.gz: !binary |-
|
9
|
-
|
10
|
-
|
11
|
-
|
9
|
+
NGZkYThlMzdiYWU5MGY4OTE5NWQxODBkZDUyZDUzZjRhMTAxNTE3YzRlZjc0
|
10
|
+
MTYyYWZjMTBiMDZhOWZmOGZhOTFkNjcwMjE3OTliNTBlODBmYTNlYTU0YmIx
|
11
|
+
ZDg3MDkxZTIwNTIxODlmZjEwYWI4ZmJlODFjMDdkYTY3MjhlOTk=
|
12
12
|
data.tar.gz: !binary |-
|
13
|
-
|
14
|
-
|
15
|
-
|
13
|
+
OTgyYmQ4NTI3MWU1OGM4MjBiYzlmYmEzNmVlYTY1ZjQxYjU5MTQ0YzQ5NjQw
|
14
|
+
ODgxZjZhMGIzMjI5ZWNiODg1NjU2NDA1MGU1MDQ5NDU3ZWY4OTczMmMxOGNm
|
15
|
+
ODQ3NzM4YWE3YTE5MmFiNDYzN2I3ODM0ODFiOTlhZTk3ZTE3NjE=
|
data/lib/tasks/deployment.rake
CHANGED
@@ -1,46 +1,61 @@
|
|
1
|
+
require "#{Rails.root}/config/deployment_configuration"
|
2
|
+
|
1
3
|
# TODO see rugged gem for a better implementation of ruby commands
|
2
4
|
namespace :deploy do
|
3
5
|
|
6
|
+
task :test_configuration do
|
7
|
+
puts PADMA_DEPLOYMENT.inspect
|
8
|
+
end
|
9
|
+
|
4
10
|
desc "deploys to staging server"
|
5
11
|
task :staging do
|
6
12
|
puts "====> deploying to staging..."
|
7
|
-
|
8
13
|
`git checkout master`
|
9
14
|
`git pull`
|
10
|
-
|
11
|
-
|
12
|
-
`git checkout staging`
|
13
|
-
`git rebase master`
|
14
|
-
else
|
15
|
-
`git checkout -b staging`
|
16
|
-
end
|
17
|
-
`git push staging staging:master --force`
|
18
|
-
`git push origin staging:staging --force`
|
15
|
+
rebase_to_master('staging')
|
16
|
+
deploy(:staging)
|
19
17
|
`git checkout master`
|
20
18
|
end
|
21
19
|
|
22
20
|
desc "deploys to production server"
|
23
21
|
task :production do
|
24
|
-
puts "
|
22
|
+
puts "====> deploying to production..."
|
25
23
|
`git checkout master`
|
26
24
|
`git pull`
|
27
|
-
|
28
|
-
|
29
|
-
`git checkout production`
|
30
|
-
`git rebase master`
|
31
|
-
else
|
32
|
-
`git checkout -b production`
|
33
|
-
end
|
34
|
-
`git rebase master`
|
35
|
-
`git push origin production:production`
|
25
|
+
rebase_to_master('production')
|
26
|
+
deploy(:production)
|
36
27
|
`git checkout master`
|
37
|
-
puts "you can ssh to serve to deploy"
|
38
28
|
end
|
39
29
|
|
40
30
|
end
|
41
31
|
|
32
|
+
def rebase_to_master(branch_name)
|
33
|
+
if local_branch_exists?(branch_name)
|
34
|
+
`git checkout #{branch_name}`
|
35
|
+
`git rebase master`
|
36
|
+
else
|
37
|
+
`git checkout -b #{branch_name}`
|
38
|
+
end
|
39
|
+
end
|
40
|
+
|
42
41
|
# @return [Boolean]
|
43
42
|
def local_branch_exists?(branch_name)
|
44
43
|
`git show-ref --verify --quiet refs/heads/#{branch_name}`
|
45
44
|
$?.success?
|
46
45
|
end
|
46
|
+
|
47
|
+
def deploy(environment)
|
48
|
+
server = PADMA_DEPLOYMENT[environment][:server] || (environment==:staging)? :heroku : :ec2
|
49
|
+
remote = PADMA_DEPLOYMENT[environment][:remote_name] || environment
|
50
|
+
if PADMA_DEPLOYMENT[environment][:force_push]
|
51
|
+
force = "--force"
|
52
|
+
end
|
53
|
+
case server
|
54
|
+
when :heroku
|
55
|
+
`git push #{remote} #{environment}:master #{force}`
|
56
|
+
`git push origin #{environment}:#{environment} #{force}`
|
57
|
+
when :ec2
|
58
|
+
`git push origin #{environment}:#{environment} #{force}`
|
59
|
+
puts "you can ssh to server to deploy"
|
60
|
+
end
|
61
|
+
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: padma-deployment
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.2.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Dwayne Macgowan
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2014-02-
|
11
|
+
date: 2014-02-17 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: railties
|