heroku_rake_tasks 0.1.0 → 0.1.1
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 +25 -2
- data/lib/heroku_rake_tasks/version.rb +1 -1
- data/lib/tasks/heroku.rake +57 -9
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 3b303a0211668bf5a2186b52210cc44f55fd75fd
|
4
|
+
data.tar.gz: eb42d427461888c6adf1bcf3ba570f963890a5ac
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: acd778069f1637e8a6fcf1649497ee844f5a6713e59f2068b6747e5681b4c8f9317a5f7b93b4144caf1043170f8316aa6d5931ffb5b6f344503cb3779dc6f43b
|
7
|
+
data.tar.gz: c36d7c71ca6e9de61a2bb961fd0bec6020c42582ee6963cc7626e73f31e4de3463b0637462823de176d649e76909e902ea04ef6b300d5892f1c8f941535a39d5
|
data/README.md
CHANGED
@@ -1,6 +1,14 @@
|
|
1
1
|
# HerokuRakeTasks
|
2
2
|
|
3
|
-
|
3
|
+
Rake tasks to manage an Heroku Application
|
4
|
+
|
5
|
+
[][gem]
|
6
|
+
[][codeclimate]
|
7
|
+
[][gemnasium]
|
8
|
+
|
9
|
+
[gem]: https://rubygems.org/gems/heroku_rake_tasks
|
10
|
+
[codeclimate]: https://codeclimate.com/github/bencolon/heroku_rake_tasks
|
11
|
+
[gemnasium]: https://gemnasium.com/bencolon/heroku_rake_tasks
|
4
12
|
|
5
13
|
## Installation
|
6
14
|
|
@@ -18,7 +26,22 @@ Or install it yourself as:
|
|
18
26
|
|
19
27
|
## Usage
|
20
28
|
|
21
|
-
|
29
|
+
```bash
|
30
|
+
rake h:config # Display the application env vars
|
31
|
+
rake h:console # Start a Rails console
|
32
|
+
rake h:db:dump # Dump the remote database to ./remote.dump
|
33
|
+
rake h:db:restore # Restore the local database from ./remote.dump
|
34
|
+
rake h:db:sync # Sync the remote database to the local one
|
35
|
+
rake h:dbconsole # Start a DB console
|
36
|
+
rake h:deploy # Deploy the application
|
37
|
+
rake h:deploy:commits # Show the deployment-pending commits log
|
38
|
+
rake h:deploy:diff # Show the deployment-pending source code changes
|
39
|
+
rake h:deploy:migrate # Deploy the application and run the migration(s)
|
40
|
+
rake h:logs # Display recent log output for the application
|
41
|
+
rake h:logs:tail # Tail the logs for the application
|
42
|
+
rake h:ps # List the application dynos
|
43
|
+
rake h:restart # Restart the application
|
44
|
+
```
|
22
45
|
|
23
46
|
## Contributing
|
24
47
|
|
data/lib/tasks/heroku.rake
CHANGED
@@ -1,33 +1,58 @@
|
|
1
1
|
|
2
2
|
namespace :h do
|
3
|
-
|
4
3
|
desc 'Deploy the application'
|
5
4
|
task :deploy do
|
6
|
-
|
5
|
+
deploy
|
7
6
|
end
|
8
7
|
|
9
8
|
namespace :deploy do
|
10
9
|
desc 'Deploy the application and run the migration(s)'
|
11
|
-
task :
|
10
|
+
task :migrate do
|
12
11
|
bundlerize { sh "heroku maintenance:on -r #{remote}" }
|
13
|
-
|
12
|
+
deploy
|
14
13
|
bundlerize { sh "heroku run rake db:migrate -r #{remote}" }
|
15
14
|
bundlerize { sh "heroku restart -r #{remote}" }
|
16
15
|
bundlerize { sh "heroku maintenance:off -r #{remote}" }
|
17
16
|
end
|
17
|
+
|
18
|
+
desc 'Show the deployment-pending commits log'
|
19
|
+
task :commits do
|
20
|
+
bundlerize { sh "git log origin/dev...#{remote}/master --oneline --graph --decorate --no-merges" }
|
21
|
+
end
|
22
|
+
|
23
|
+
desc 'Show the deployment-pending source code changes'
|
24
|
+
task :diff do
|
25
|
+
bundlerize { sh "git diff origin/dev #{remote}/master --name-only" }
|
26
|
+
end
|
18
27
|
end
|
19
28
|
|
20
29
|
desc 'Display recent log output for the application'
|
21
30
|
task :logs do
|
22
31
|
bundlerize { sh "heroku logs -r #{remote}" }
|
23
|
-
no_warning
|
24
32
|
end
|
25
33
|
|
26
34
|
namespace :logs do
|
27
35
|
desc 'Tail the logs for the application'
|
28
36
|
task :tail do
|
29
37
|
bundlerize { sh "heroku logs -t -r #{remote}" }
|
30
|
-
|
38
|
+
end
|
39
|
+
end
|
40
|
+
|
41
|
+
namespace :db do
|
42
|
+
desc 'Sync the remote database with the local one'
|
43
|
+
task :sync do
|
44
|
+
dump
|
45
|
+
restore
|
46
|
+
end
|
47
|
+
|
48
|
+
desc 'Dump the remote database to ./remote.dump'
|
49
|
+
task :dump do
|
50
|
+
dump
|
51
|
+
end
|
52
|
+
|
53
|
+
desc 'Restore the local database from ./remote.dump'
|
54
|
+
task :restore do
|
55
|
+
restore
|
31
56
|
end
|
32
57
|
end
|
33
58
|
|
@@ -42,17 +67,17 @@ namespace :h do
|
|
42
67
|
end
|
43
68
|
|
44
69
|
desc 'Start a DB console'
|
45
|
-
task :
|
70
|
+
task :dbconsole do
|
46
71
|
bundlerize { sh "heroku pg:psql -r #{remote}" }
|
47
72
|
end
|
48
73
|
|
49
74
|
desc 'Display the application env vars'
|
50
|
-
task :
|
75
|
+
task :config do
|
51
76
|
bundlerize { sh "heroku config -r #{remote}" }
|
52
77
|
end
|
53
78
|
|
54
79
|
desc 'List the application dynos'
|
55
|
-
task :
|
80
|
+
task :ps do
|
56
81
|
bundlerize { sh "heroku ps -r #{remote}" }
|
57
82
|
end
|
58
83
|
|
@@ -68,6 +93,10 @@ namespace :h do
|
|
68
93
|
end
|
69
94
|
end
|
70
95
|
|
96
|
+
def deploy
|
97
|
+
bundlerize { sh "git push #{remote} origin/#{deploy_branch}:master" }
|
98
|
+
end
|
99
|
+
|
71
100
|
def deploy_branch
|
72
101
|
case remote
|
73
102
|
when "staging"
|
@@ -77,8 +106,27 @@ namespace :h do
|
|
77
106
|
end
|
78
107
|
end
|
79
108
|
|
109
|
+
def dump
|
110
|
+
bundlerize { sh "heroku pgbackups:capture -r #{remote}" }
|
111
|
+
bundlerize { sh "curl -o remote.dump $(heroku pgbackups:url -r #{remote})" }
|
112
|
+
end
|
113
|
+
|
114
|
+
def restore
|
115
|
+
bundlerize { sh "pg_restore -h localhost -U postgres -d #{dev_db_name} remote.dump --verbose --clean --no-acl --no-owner" }
|
116
|
+
end
|
117
|
+
|
118
|
+
def dev_db_name
|
119
|
+
Rails.configuration.database_configuration["development"]["database"]
|
120
|
+
end
|
121
|
+
|
80
122
|
def no_warning
|
81
123
|
task remote.to_sym do
|
82
124
|
end
|
83
125
|
end
|
84
126
|
end
|
127
|
+
|
128
|
+
Rake::Task.tasks.each do |t|
|
129
|
+
t.enhance do
|
130
|
+
no_warning
|
131
|
+
end
|
132
|
+
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: heroku_rake_tasks
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.
|
4
|
+
version: 0.1.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Ben Colon
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2014-08-
|
11
|
+
date: 2014-08-12 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|