pah 0.0.9 → 0.0.10
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 +17 -0
- data/README.md +14 -0
- data/lib/pah/files/.env +0 -0
- data/lib/pah/files/config/database.yml +3 -7
- data/lib/pah/files/lib/tasks/integration.rake +49 -2
- data/lib/pah/partials/_cleanup.rb +0 -5
- data/lib/pah/partials/_database.rb +8 -1
- data/lib/pah/partials/_default.rb +1 -3
- data/lib/pah/partials/_gems.rb +12 -3
- data/lib/pah/partials/_heroku.rb +4 -23
- data/lib/pah/partials/_integration.rb +2 -2
- data/lib/pah/partials/_ruby_env.rb +16 -0
- data/lib/pah/template.rb +1 -3
- data/lib/pah/version.rb +1 -1
- data/pah.gemspec +0 -1
- metadata +4 -21
- data/lib/pah/files/config/initializers/omniauth.rb +0 -4
- data/lib/pah/files/lib/tasks/deploy.rake +0 -109
- data/lib/pah/partials/_finish.rb +0 -8
- data/lib/pah/partials/_omniauth.rb +0 -13
- data/lib/pah/partials/_rvm.rb +0 -47
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: c6212ca852515a5d3a319e26a2679fbfabd8cedf
|
4
|
+
data.tar.gz: 926e305615e898e0c88197ae16acd5ee60d23c6f
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 49d22795028acb466ca5995350d91ee7c141758ad7629c39968fa94e90136db571e4587fa3f48559fa3a456e08029b0f6c74057dbd21670d11c7ee2c30fe6377
|
7
|
+
data.tar.gz: cbff55dc3313b7d9f4079d6a883fb751a035afd90650a06af2b2514251a8e495bb9e56729a2fb78b7b9544a32214c48025743081709344d1af41365286545923
|
data/CHANGELOG.md
CHANGED
@@ -1,5 +1,22 @@
|
|
1
1
|
# Changelog
|
2
2
|
|
3
|
+
## 0.0.10 (November 5, 2013)
|
4
|
+
|
5
|
+
### features
|
6
|
+
|
7
|
+
### improvements
|
8
|
+
|
9
|
+
- Remove rvm dependency
|
10
|
+
- Remove staging app
|
11
|
+
- Remove ominiauth integration
|
12
|
+
- Refactoring bundle files
|
13
|
+
- Refactoring integration files
|
14
|
+
- Remove password from db config
|
15
|
+
|
16
|
+
### bug fixes
|
17
|
+
|
18
|
+
- Integration now use app name hardcoded
|
19
|
+
|
3
20
|
## 0.0.9 (November 01, 2013)
|
4
21
|
|
5
22
|
### features
|
data/README.md
CHANGED
@@ -11,6 +11,8 @@ Install Pah at the command prompt:
|
|
11
11
|
|
12
12
|
gem install pah
|
13
13
|
|
14
|
+
If using [RVM see this tips](https://github.com/Helabs/pah/wiki/Using-Pah-with-RVM).
|
15
|
+
|
14
16
|
## Usage
|
15
17
|
|
16
18
|
Run:
|
@@ -19,6 +21,18 @@ Run:
|
|
19
21
|
|
20
22
|
This will create a Rails 4.0 app in `projectname` with ruby 2.0.0. This script creates a new git repository. It is not meant to be used against an existing repo.
|
21
23
|
|
24
|
+
### RVM
|
25
|
+
|
26
|
+
If using the rvm is recomended before using pah, create and use a gemset, with the project name.
|
27
|
+
|
28
|
+
```bash
|
29
|
+
$ rvm use 2.0.0@projectname --create
|
30
|
+
```
|
31
|
+
|
32
|
+
Pah automatically create the .ruby-version and .ruby-gemset files.
|
33
|
+
|
34
|
+
### Canonical host
|
35
|
+
|
22
36
|
Be sure to set your canonical domain on Heroku:
|
23
37
|
```shell
|
24
38
|
heroku config:add CANONICAL_HOST=yourdomain.com #or www.yourdomain.com
|
data/lib/pah/files/.env
ADDED
File without changes
|
@@ -1,22 +1,18 @@
|
|
1
1
|
development:
|
2
2
|
adapter: postgresql
|
3
|
-
encoding:
|
3
|
+
encoding: utf8
|
4
4
|
database: PROJECT_development
|
5
5
|
pool: 5
|
6
6
|
username: postgres
|
7
|
-
password:
|
8
7
|
host: localhost
|
9
|
-
encoding: utf8
|
10
8
|
template: template0
|
11
9
|
|
12
10
|
test:
|
13
11
|
adapter: postgresql
|
14
|
-
encoding:
|
12
|
+
encoding: utf8
|
15
13
|
database: PROJECT_test
|
16
14
|
pool: 5
|
17
15
|
username: postgres
|
18
|
-
password:
|
19
16
|
min_messages: WARNING
|
20
17
|
host: localhost
|
21
|
-
|
22
|
-
template: template0
|
18
|
+
template: template0
|
@@ -4,8 +4,46 @@ def run_with_clean_env(command, capture_output=false)
|
|
4
4
|
Bundler.with_clean_env { capture_output ? `#{command}` : sh(command) }
|
5
5
|
end
|
6
6
|
|
7
|
+
def confirm(message)
|
8
|
+
print "\n#{message}\nAre you sure? [yN] "
|
9
|
+
raise 'Ok. Bye...' unless STDIN.gets.chomp.downcase == 'y'
|
10
|
+
end
|
11
|
+
|
12
|
+
def has_database?(app)
|
13
|
+
database_url = run_with_clean_env("heroku config -s --app #{app} | grep DATABASE_URL", true).strip
|
14
|
+
not database_url.blank?
|
15
|
+
end
|
16
|
+
|
17
|
+
def backup(app)
|
18
|
+
return unless has_database?(app)
|
19
|
+
puts "--> Backing up database via Heroku".magenta
|
20
|
+
run_with_clean_env("heroku pgbackups:capture --expire --app #{app}")
|
21
|
+
end
|
22
|
+
|
23
|
+
def migrate(app)
|
24
|
+
return unless has_database?(app)
|
25
|
+
puts "--> Migrating".magenta
|
26
|
+
run_with_clean_env("heroku run rake db:migrate --app #{app}")
|
27
|
+
end
|
28
|
+
|
29
|
+
def seed(app)
|
30
|
+
return unless has_database?(app)
|
31
|
+
puts "--> Seeding".magenta
|
32
|
+
run_with_clean_env("heroku run rake db:seed --app #{app}")
|
33
|
+
end
|
34
|
+
|
35
|
+
def restart(app)
|
36
|
+
puts "--> Restarting".magenta
|
37
|
+
run_with_clean_env("heroku restart --app #{app}")
|
38
|
+
end
|
39
|
+
|
40
|
+
def deploy(app)
|
41
|
+
puts "--> Pushing".magenta
|
42
|
+
run_with_clean_env("git push git@heroku.com:#{APP}.git HEAD:master")
|
43
|
+
end
|
44
|
+
|
7
45
|
namespace :integration do
|
8
|
-
APP =
|
46
|
+
APP = 'PROJECT'
|
9
47
|
USER = run_with_clean_env("git config --get user.name", true).strip
|
10
48
|
|
11
49
|
namespace :heroku do
|
@@ -44,6 +82,15 @@ namespace :integration do
|
|
44
82
|
puts "--> Unlocking Heroku integration".magenta
|
45
83
|
run_with_clean_env("heroku config:unset INTEGRATING_BY --app #{APP}")
|
46
84
|
end
|
85
|
+
|
86
|
+
desc "Deploy to heroku"
|
87
|
+
task :deploy do
|
88
|
+
backup(APP)
|
89
|
+
deploy(APP)
|
90
|
+
migrate(APP)
|
91
|
+
seed(APP)
|
92
|
+
restart(APP)
|
93
|
+
end
|
47
94
|
end
|
48
95
|
end
|
49
96
|
|
@@ -57,6 +104,6 @@ INTEGRATION_TASKS = %w(
|
|
57
104
|
spec
|
58
105
|
integration:coverage_verify
|
59
106
|
integration:finish
|
60
|
-
heroku:deploy
|
107
|
+
integration:heroku:deploy
|
61
108
|
integration:heroku:unlock
|
62
109
|
)
|
@@ -3,4 +3,11 @@ gsub_file 'config/database.yml', /PROJECT/, @app_name
|
|
3
3
|
git :add => 'config/database.yml'
|
4
4
|
git :commit => "-qm 'Adding config/database.yml.'"
|
5
5
|
|
6
|
-
|
6
|
+
in_root do
|
7
|
+
run "rake db:create db:migrate db:test:clone"
|
8
|
+
end
|
9
|
+
|
10
|
+
git :add => 'db/schema.rb'
|
11
|
+
git :commit => "-qm 'Create database, adding db/schema.rb.'"
|
12
|
+
|
13
|
+
puts "\n"
|
@@ -8,9 +8,7 @@ copy_static_file 'config/unicorn.rb'
|
|
8
8
|
copy_static_file 'Procfile'
|
9
9
|
copy_static_file 'config/locales/pt-BR.yml'
|
10
10
|
copy_static_file '.gitignore'
|
11
|
-
|
12
|
-
create_file ".env"
|
13
|
-
append_to_file '.env', "APP: #{@app_name}\n"
|
11
|
+
copy_static_file '.env'
|
14
12
|
|
15
13
|
git :add => '.'
|
16
14
|
git :commit => "-aqm 'Add default stuff.'"
|
data/lib/pah/partials/_gems.rb
CHANGED
@@ -1,7 +1,16 @@
|
|
1
|
-
puts "
|
1
|
+
puts "Setting up bundler and installing bundled gems (may take a while) ... ".magenta
|
2
2
|
|
3
3
|
copy_static_file 'Gemfile'
|
4
4
|
|
5
|
+
in_root do
|
6
|
+
# Since the gemset is likely empty, manually install bundler so it can install the rest
|
7
|
+
run "gem install bundler --no-ri --no-rdoc"
|
8
|
+
|
9
|
+
# Install all other gems needed from Gemfile
|
10
|
+
run "bundle install"
|
11
|
+
end
|
12
|
+
|
5
13
|
git :add => 'Gemfile'
|
6
|
-
git :
|
7
|
-
|
14
|
+
git :add => 'Gemfile.lock'
|
15
|
+
git :commit => "-qm 'Add Gemfile and Gemfile.lock.'"
|
16
|
+
puts "\n"
|
data/lib/pah/partials/_heroku.rb
CHANGED
@@ -3,7 +3,7 @@ class HerokuApp < Rails::Generators::AppGenerator
|
|
3
3
|
|
4
4
|
attr_reader :name, :description
|
5
5
|
|
6
|
-
def initialize(name, description
|
6
|
+
def initialize(name, description)
|
7
7
|
@name = name
|
8
8
|
@description = description
|
9
9
|
|
@@ -11,12 +11,9 @@ class HerokuApp < Rails::Generators::AppGenerator
|
|
11
11
|
add_secret_token
|
12
12
|
add_timezone_config
|
13
13
|
add_addons
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
check_canonical_domain
|
18
|
-
check_collaborators
|
19
|
-
end
|
14
|
+
add_heroku_git_remote
|
15
|
+
check_canonical_domain
|
16
|
+
check_collaborators
|
20
17
|
end
|
21
18
|
|
22
19
|
def create
|
@@ -102,25 +99,9 @@ if would_you_like? "Create Heroku apps?".red
|
|
102
99
|
end
|
103
100
|
|
104
101
|
config = {}
|
105
|
-
config['staging'] = would_you_like? "Create staging app?".red
|
106
102
|
config['deploy'] = would_you_like? "Deploy immediately?".red
|
107
103
|
|
108
104
|
production_app = HerokuApp.new(@app_name.gsub('_',''), "app")
|
109
|
-
staging_app = HerokuApp.new("#{production_app.name}-staging", "staging app", true) if config['staging']
|
110
|
-
|
111
|
-
if config['staging'] && staging_app.name.present?
|
112
|
-
append_to_file '.env', "STAGING_APP: #{staging_app.name}\n"
|
113
|
-
append_to_file '.env', "PRODUCTION_APP: #{production_app.name}\n"
|
114
|
-
|
115
|
-
git add: '.env'
|
116
|
-
git commit: "-qm 'Adding STAGING_APP and PRODUCTION_APP configs.'"
|
117
|
-
else
|
118
|
-
# The STAGING_APP is the default integration destination
|
119
|
-
append_to_file '.env', "STAGING_APP: #{production_app.name}\n"
|
120
|
-
|
121
|
-
git add: '.env'
|
122
|
-
git commit: "-qm 'Adding STAGING_APP config.'"
|
123
|
-
end
|
124
105
|
|
125
106
|
production_app.open if config['deploy']
|
126
107
|
end
|
@@ -1,9 +1,9 @@
|
|
1
1
|
puts "Setting up Integration... ".magenta
|
2
2
|
|
3
3
|
copy_static_file 'lib/tasks/integration.rake'
|
4
|
-
|
4
|
+
gsub_file 'lib/tasks/integration.rake', /PROJECT/, @app_name
|
5
5
|
|
6
|
-
git :add => 'lib/tasks/integration.rake
|
6
|
+
git :add => 'lib/tasks/integration.rake'
|
7
7
|
git :commit => "-qm 'Adding integration tasks.'"
|
8
8
|
|
9
9
|
puts "\n"
|
@@ -0,0 +1,16 @@
|
|
1
|
+
puts "Setting up ruby env ... ".magenta
|
2
|
+
|
3
|
+
current_ruby = 'ruby-2.0.0'
|
4
|
+
current_gemset = @app_name
|
5
|
+
|
6
|
+
copy_static_file '.ruby-version'
|
7
|
+
gsub_file '.ruby-version', /RUBY_VERSION/, current_ruby
|
8
|
+
|
9
|
+
copy_static_file '.ruby-gemset'
|
10
|
+
gsub_file '.ruby-gemset', /GEMSET/, current_gemset
|
11
|
+
|
12
|
+
git :add => '.ruby-version'
|
13
|
+
git :add => '.ruby-gemset'
|
14
|
+
git :commit => "-qm 'Add .ruby-version and .ruby-gemset'"
|
15
|
+
|
16
|
+
puts "\n"
|
data/lib/pah/template.rb
CHANGED
@@ -50,6 +50,7 @@ puts "=========================================================\n"
|
|
50
50
|
# TODO: timezone, Add rspec extensions
|
51
51
|
|
52
52
|
apply_n :git
|
53
|
+
apply_n :ruby_env
|
53
54
|
apply_n :cleanup
|
54
55
|
apply_n :gems
|
55
56
|
apply_n :database
|
@@ -58,16 +59,13 @@ apply_n :default
|
|
58
59
|
apply_n :stylesheets
|
59
60
|
apply_n :secure_headers
|
60
61
|
apply_n :secret_token
|
61
|
-
apply_n :omniauth
|
62
62
|
apply_n :capybara
|
63
63
|
apply_n :generators
|
64
64
|
apply_n :letter_opener
|
65
65
|
apply_n :locale
|
66
66
|
apply_n :canonical_host
|
67
|
-
apply_n :rvm
|
68
67
|
apply_n :unicorn
|
69
68
|
apply_n :integration
|
70
|
-
apply_n :finish
|
71
69
|
apply_n :heroku
|
72
70
|
|
73
71
|
# apply_n :omniauth # TODO: add spec support files
|
data/lib/pah/version.rb
CHANGED
data/pah.gemspec
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: pah
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.10
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- HE:labs
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2013-11-
|
11
|
+
date: 2013-11-05 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: rails
|
@@ -38,20 +38,6 @@ dependencies:
|
|
38
38
|
- - '='
|
39
39
|
- !ruby/object:Gem::Version
|
40
40
|
version: '1.2'
|
41
|
-
- !ruby/object:Gem::Dependency
|
42
|
-
name: rvm
|
43
|
-
requirement: !ruby/object:Gem::Requirement
|
44
|
-
requirements:
|
45
|
-
- - '='
|
46
|
-
- !ruby/object:Gem::Version
|
47
|
-
version: 1.11.3.8
|
48
|
-
type: :runtime
|
49
|
-
prerelease: false
|
50
|
-
version_requirements: !ruby/object:Gem::Requirement
|
51
|
-
requirements:
|
52
|
-
- - '='
|
53
|
-
- !ruby/object:Gem::Version
|
54
|
-
version: 1.11.3.8
|
55
41
|
- !ruby/object:Gem::Dependency
|
56
42
|
name: bundler
|
57
43
|
requirement: !ruby/object:Gem::Requirement
|
@@ -99,6 +85,7 @@ files:
|
|
99
85
|
- README.md
|
100
86
|
- Rakefile
|
101
87
|
- bin/pah
|
88
|
+
- lib/pah/files/.env
|
102
89
|
- lib/pah/files/.gitignore
|
103
90
|
- lib/pah/files/.ruby-gemset
|
104
91
|
- lib/pah/files/.ruby-version
|
@@ -110,10 +97,8 @@ files:
|
|
110
97
|
- lib/pah/files/app/views/application/_flash_messages.html.haml
|
111
98
|
- lib/pah/files/app/views/layouts/application.html.haml
|
112
99
|
- lib/pah/files/config/database.yml
|
113
|
-
- lib/pah/files/config/initializers/omniauth.rb
|
114
100
|
- lib/pah/files/config/locales/pt-BR.yml
|
115
101
|
- lib/pah/files/config/unicorn.rb
|
116
|
-
- lib/pah/files/lib/tasks/deploy.rake
|
117
102
|
- lib/pah/files/lib/tasks/integration.rake
|
118
103
|
- lib/pah/files/spec/acceptance/dummy_spec.rb
|
119
104
|
- lib/pah/files/spec/spec_helper.rb
|
@@ -135,7 +120,6 @@ files:
|
|
135
120
|
- lib/pah/partials/_cleanup.rb
|
136
121
|
- lib/pah/partials/_database.rb
|
137
122
|
- lib/pah/partials/_default.rb
|
138
|
-
- lib/pah/partials/_finish.rb
|
139
123
|
- lib/pah/partials/_gems.rb
|
140
124
|
- lib/pah/partials/_generators.rb
|
141
125
|
- lib/pah/partials/_git.rb
|
@@ -143,9 +127,8 @@ files:
|
|
143
127
|
- lib/pah/partials/_integration.rb
|
144
128
|
- lib/pah/partials/_letter_opener.rb
|
145
129
|
- lib/pah/partials/_locale.rb
|
146
|
-
- lib/pah/partials/_omniauth.rb
|
147
130
|
- lib/pah/partials/_rspec.rb
|
148
|
-
- lib/pah/partials/
|
131
|
+
- lib/pah/partials/_ruby_env.rb
|
149
132
|
- lib/pah/partials/_secret_token.rb
|
150
133
|
- lib/pah/partials/_secure_headers.rb
|
151
134
|
- lib/pah/partials/_stylesheets.rb
|
@@ -1,109 +0,0 @@
|
|
1
|
-
require 'colored' if Rails.env.development?
|
2
|
-
|
3
|
-
def run_with_clean_env(command, capture_output=false)
|
4
|
-
Bundler.with_clean_env { capture_output ? `#{command}` : sh(command) }
|
5
|
-
end
|
6
|
-
|
7
|
-
def confirm(message)
|
8
|
-
print "\n#{message}\nAre you sure? [yN] "
|
9
|
-
raise 'Ok. Bye...' unless STDIN.gets.chomp.downcase == 'y'
|
10
|
-
end
|
11
|
-
|
12
|
-
namespace :heroku do
|
13
|
-
PRODUCTION_APP = ENV['PRODUCTION_APP'] || ENV['APP']
|
14
|
-
STAGING_APP = ENV['STAGING_APP'] || ENV['APP']
|
15
|
-
|
16
|
-
def has_database?(app)
|
17
|
-
database_url = run_with_clean_env("heroku config -s --app #{app} | grep DATABASE_URL", true).strip
|
18
|
-
not database_url.blank?
|
19
|
-
end
|
20
|
-
|
21
|
-
def backup(app)
|
22
|
-
return unless has_database?(app)
|
23
|
-
puts "--> Backing up database via Heroku".magenta
|
24
|
-
run_with_clean_env("heroku pgbackups:capture --expire --app #{app}")
|
25
|
-
end
|
26
|
-
|
27
|
-
def migrate(app)
|
28
|
-
return unless has_database?(app)
|
29
|
-
puts "--> Migrating".magenta
|
30
|
-
run_with_clean_env("heroku run rake db:migrate --app #{app}")
|
31
|
-
end
|
32
|
-
|
33
|
-
def seed(app)
|
34
|
-
return unless has_database?(app)
|
35
|
-
puts "--> Seeding".magenta
|
36
|
-
run_with_clean_env("heroku run rake db:seed --app #{app}")
|
37
|
-
end
|
38
|
-
|
39
|
-
def restart(app)
|
40
|
-
puts "--> Restarting".magenta
|
41
|
-
run_with_clean_env("heroku restart --app #{app}")
|
42
|
-
end
|
43
|
-
|
44
|
-
namespace :deploy do
|
45
|
-
|
46
|
-
desc "Deploy to staging"
|
47
|
-
task :staging do
|
48
|
-
APP = STAGING_APP
|
49
|
-
|
50
|
-
backup(APP) if ENV['SKIP_BACKUP'] != "true"
|
51
|
-
|
52
|
-
puts "--> Pushing".magenta
|
53
|
-
run_with_clean_env("git push git@heroku.com:#{APP}.git HEAD:master")
|
54
|
-
|
55
|
-
migrate(APP)
|
56
|
-
seed(APP)
|
57
|
-
restart(APP)
|
58
|
-
end
|
59
|
-
|
60
|
-
desc "Deploy to production"
|
61
|
-
task :production do
|
62
|
-
# This constant is defined to avoid problemd of copying and pasting from one environment to another
|
63
|
-
APP = PRODUCTION_APP
|
64
|
-
|
65
|
-
confirm("Going deploy to production [#{APP}]...".red)
|
66
|
-
|
67
|
-
if ENV['SKIP_TESTS'] != "true"
|
68
|
-
puts "--> Running all specs".magenta
|
69
|
-
Rake::Task['spec'].invoke
|
70
|
-
end
|
71
|
-
|
72
|
-
print "\nPut #{APP} in maintenance mode? [Yn] ".red
|
73
|
-
maintenance = (ENV['MAINTENANCE'] == "true" or (STDIN.gets.chomp.downcase == 'y'))
|
74
|
-
|
75
|
-
if maintenance
|
76
|
-
puts "--> Setting Maintenance on".magenta
|
77
|
-
run_with_clean_env("heroku maintenance:on --app #{APP}")
|
78
|
-
|
79
|
-
puts "--> Restarting".magenta
|
80
|
-
run_with_clean_env("heroku restart --app #{APP}")
|
81
|
-
|
82
|
-
puts "--> Waiting 20 seconds to app come back (in maintenance mode)".magenta
|
83
|
-
sleep(20)
|
84
|
-
end
|
85
|
-
|
86
|
-
backup(APP) if ENV['SKIP_BACKUP'] != "true"
|
87
|
-
|
88
|
-
iso_date = Time.now.strftime('%Y-%m-%dT%H%M%S')
|
89
|
-
tag_name = "production-#{iso_date}"
|
90
|
-
|
91
|
-
puts "--> Tagging as #{tag_name}".magenta
|
92
|
-
run_with_clean_env("git tag #{tag_name} master")
|
93
|
-
|
94
|
-
puts "--> Pushing".magenta
|
95
|
-
run_with_clean_env("git push origin #{tag_name}")
|
96
|
-
run_with_clean_env("git push git@heroku.com:#{APP}.git HEAD:master")
|
97
|
-
|
98
|
-
migrate(APP)
|
99
|
-
seed(APP)
|
100
|
-
|
101
|
-
if maintenance
|
102
|
-
puts "Setting Maintenance off".magenta
|
103
|
-
run_with_clean_env("heroku maintenance:off --app #{APP}")
|
104
|
-
end
|
105
|
-
|
106
|
-
restart(APP)
|
107
|
-
end
|
108
|
-
end
|
109
|
-
end
|
data/lib/pah/partials/_finish.rb
DELETED
@@ -1,13 +0,0 @@
|
|
1
|
-
puts "Add omniauth support ...".magenta
|
2
|
-
|
3
|
-
if would_you_like? "Add omniauth support?".red
|
4
|
-
%w{omniauth.rb}.each do |component|
|
5
|
-
copy_static_file "config/initializers/#{component}"
|
6
|
-
end
|
7
|
-
|
8
|
-
gsub_file 'Gemfile', /# gem 'omniauth/, "gem 'omniauth"
|
9
|
-
|
10
|
-
git :add => '.'
|
11
|
-
git :commit => "-aqm 'Add omniauth support.'"
|
12
|
-
puts "\n"
|
13
|
-
end
|
data/lib/pah/partials/_rvm.rb
DELETED
@@ -1,47 +0,0 @@
|
|
1
|
-
# Set up rvm private gemset
|
2
|
-
require 'rvm'
|
3
|
-
puts "Setting up RVM gemset and installing bundled gems (may take a while) ... ".magenta
|
4
|
-
|
5
|
-
# Need to strip colors in case rvm_pretty_print_flag is enabled in user's .rvmrc
|
6
|
-
rvm_list = `rvm list`.gsub(Regexp.new("\e\\[.?.?.?m"), '')
|
7
|
-
|
8
|
-
current_ruby = rvm_list.match(/=.? ([^ ]+)/)[1]
|
9
|
-
desired_ruby = current_ruby.gsub(/\-p\d+/, "")
|
10
|
-
|
11
|
-
@env = RVM::Environment.new(desired_ruby)
|
12
|
-
|
13
|
-
gemset_name = @app_name
|
14
|
-
|
15
|
-
puts "Creating gemset #{gemset_name} in #{desired_ruby}"
|
16
|
-
@env.gemset_create(gemset_name)
|
17
|
-
puts "Now using gemset #{gemset_name}"
|
18
|
-
@env.gemset_use!(gemset_name)
|
19
|
-
|
20
|
-
rvm_current = `rvm current`.match(/[\w\d.-]+@[\w\d\.-]+/)[0].strip.split('@').last
|
21
|
-
|
22
|
-
if rvm_current != gemset_name
|
23
|
-
puts "Error using gemset #{gemset_name}:".red
|
24
|
-
puts "#{rvm_current} does not match the gemset #{gemset_name}".yellow
|
25
|
-
exit
|
26
|
-
end
|
27
|
-
|
28
|
-
# Since the gemset is likely empty, manually install bundler so it can install the rest
|
29
|
-
run "gem install bundler --no-ri --no-rdoc"
|
30
|
-
|
31
|
-
# Install all other gems needed from Gemfile
|
32
|
-
run "bundle install"
|
33
|
-
|
34
|
-
copy_static_file '.ruby-version'
|
35
|
-
gsub_file '.ruby-version', /RUBY_VERSION/, desired_ruby
|
36
|
-
|
37
|
-
copy_static_file '.ruby-gemset'
|
38
|
-
gsub_file '.ruby-gemset', /GEMSET/, gemset_name
|
39
|
-
|
40
|
-
git :add => '.ruby-version'
|
41
|
-
git :add => '.ruby-gemset'
|
42
|
-
git :commit => "-qm 'Adding RVM config files.'"
|
43
|
-
|
44
|
-
git :add => 'Gemfile.lock'
|
45
|
-
git :commit => "-qm 'Adding Gemfile.lock.'"
|
46
|
-
|
47
|
-
puts "\n"
|