engineyard-migrate 1.0.1 → 1.1.0
Sign up to get free protection for your applications and to get access to all the features.
- data/ChangeLog.md +10 -1
- data/bin/ey-migrate +1 -0
- data/engineyard-migrate.gemspec +1 -1
- data/features/migration_errors.feature +0 -9
- data/lib/engineyard-migrate/cli.rb +25 -27
- data/lib/engineyard-migrate/version.rb +1 -1
- metadata +192 -197
- data/.rvmrc +0 -47
data/ChangeLog.md
CHANGED
data/bin/ey-migrate
CHANGED
data/engineyard-migrate.gemspec
CHANGED
@@ -19,7 +19,7 @@ Gem::Specification.new do |s|
|
|
19
19
|
s.executables = `git ls-files -- bin/*`.split("\n").map{ |f| File.basename(f) }
|
20
20
|
s.require_paths = ["lib"]
|
21
21
|
|
22
|
-
s.add_dependency("engineyard")
|
22
|
+
s.add_dependency("engineyard", "~>1.4.11")
|
23
23
|
s.add_dependency("heroku")
|
24
24
|
s.add_dependency("POpen4", ["~> 0.1.4"])
|
25
25
|
s.add_dependency("net-sftp", ["~> 2.0.5"])
|
@@ -9,15 +9,6 @@ Feature: Migration errors
|
|
9
9
|
Not a Salesforce Heroku application.
|
10
10
|
"""
|
11
11
|
|
12
|
-
Scenario: Fail if Heroku credentials not available
|
13
|
-
Given I clone the application "git@github.com:engineyard/heroku2ey-simple-app.git" as "simple-app"
|
14
|
-
And I have a Heroku application "heroku2ey-simple-app"
|
15
|
-
When I run local executable "ey-migrate" with arguments "heroku . --account heroku2ey --environment heroku2eysimpleapp_production"
|
16
|
-
Then I should see
|
17
|
-
"""
|
18
|
-
Please setup your Salesforce Heroku credentials first.
|
19
|
-
"""
|
20
|
-
|
21
12
|
Scenario: Fail if no Git 'origin' repo URI
|
22
13
|
Given I clone the application "git@github.com:engineyard/heroku2ey-simple-app.git" as "simple-app"
|
23
14
|
And I have a Heroku application "heroku2ey-simple-app"
|
@@ -12,7 +12,7 @@ module Engineyard::Migrate
|
|
12
12
|
class CLI < Thor
|
13
13
|
include EY::UtilityMethods
|
14
14
|
attr_reader :verbose
|
15
|
-
|
15
|
+
|
16
16
|
desc "heroku PATH", "Migrate this Heroku app to Engine Yard AppCloud"
|
17
17
|
method_option :verbose, :aliases => ["-V"], :desc => "Display more output"
|
18
18
|
method_option :environment, :aliases => ["-e"], :desc => "Environment in which to deploy this application", :type => :string
|
@@ -32,14 +32,9 @@ module Engineyard::Migrate
|
|
32
32
|
say "Requesting Heroku account information..."; $stdout.flush
|
33
33
|
say "Heroku app: "; say heroku_app_name, :green
|
34
34
|
|
35
|
-
heroku_credentials = File.expand_path("~/.heroku/credentials")
|
36
|
-
unless File.exists?(heroku_credentials)
|
37
|
-
error "Please setup your Salesforce Heroku credentials first."
|
38
|
-
end
|
39
|
-
|
40
35
|
say `heroku info`
|
41
36
|
say ""
|
42
|
-
|
37
|
+
|
43
38
|
repo = `git config remote.origin.url`.strip
|
44
39
|
if repo.empty?
|
45
40
|
error "Please host your Git repo externally and add as remote 'origin'.", <<-SUGGESTION.gsub(/^\s{12}/, '')
|
@@ -48,10 +43,10 @@ module Engineyard::Migrate
|
|
48
43
|
$ gh create-from-local --private
|
49
44
|
SUGGESTION
|
50
45
|
end
|
51
|
-
unless EY::API.
|
46
|
+
unless EY::API.new.token
|
52
47
|
error "Please create, boot and deploy an AppCloud application for #{repo}."
|
53
48
|
end
|
54
|
-
|
49
|
+
|
55
50
|
say "Requesting AppCloud account information..."; $stdout.flush
|
56
51
|
@app, @environment = fetch_app_and_environment(options[:app], options[:environment], options[:account])
|
57
52
|
|
@@ -73,7 +68,7 @@ module Engineyard::Migrate
|
|
73
68
|
say "Hostname: "; say "#{app_master_host}"
|
74
69
|
debug "$RACK_ENV: "; debug "#{@environment.framework_env}"
|
75
70
|
say ""
|
76
|
-
|
71
|
+
|
77
72
|
# TODO - what if no application deployed yet?
|
78
73
|
# bash: line 0: cd: /data/heroku2eysimpleapp/current: No such file or directory
|
79
74
|
|
@@ -89,33 +84,36 @@ module Engineyard::Migrate
|
|
89
84
|
# "user" => "deploy",
|
90
85
|
# "weekday" => "*"
|
91
86
|
# }
|
92
|
-
|
87
|
+
|
93
88
|
say "Testing AppCloud application status..."
|
94
|
-
|
95
|
-
deploy_path_found = ssh_appcloud "test -d #{@app.name}/current && echo 'found'",
|
89
|
+
|
90
|
+
deploy_path_found = ssh_appcloud "test -d #{@app.name}/current && echo 'found'",
|
96
91
|
:path => '/data', :return_output => true
|
97
92
|
error "Please deploy your AppCloud application before running migration." unless deploy_path_found =~ /found/
|
98
|
-
|
93
|
+
|
99
94
|
say "Setting up Heroku on AppCloud..."
|
100
95
|
|
101
|
-
ssh_appcloud "sudo gem install heroku taps --no-ri --no-rdoc -q"
|
96
|
+
ssh_appcloud "sudo gem install heroku taps sqlite3 mysql2 pg --no-ri --no-rdoc -q"
|
102
97
|
ssh_appcloud "git remote rm heroku 2> /dev/null; git remote add heroku #{heroku_repo} 2> /dev/null"
|
103
98
|
|
104
99
|
say "Uploading Heroku credential file..."
|
105
100
|
home_path = ssh_appcloud("pwd", :path => "~", :return_output => true)
|
106
101
|
debug "AppCloud $HOME: "; debug home_path, :yellow
|
107
|
-
|
108
|
-
|
102
|
+
|
103
|
+
require 'heroku/auth'
|
104
|
+
netrc_file = File.basename(Heroku::Auth.netrc_path)
|
105
|
+
remote_netrc = File.join(home_path, ".netrc")
|
109
106
|
Net::SFTP.start(app_master_host, app_master_user) do |sftp|
|
110
|
-
sftp.upload!(
|
107
|
+
sftp.upload!(Heroku::Auth.netrc_path, remote_netrc)
|
111
108
|
end
|
109
|
+
ssh_appcloud("chmod 0600 #{remote_netrc}")
|
112
110
|
say ""
|
113
|
-
|
111
|
+
|
114
112
|
say "Migrating data from Heroku '#{heroku_app_name}' to AppCloud '#{@app.name}'..."
|
115
113
|
env_vars = %w[RAILS_ENV RACK_ENV MERB_ENV].map {|var| "#{var}=#{@environment.framework_env}" }.join(" ")
|
116
114
|
ssh_appcloud "#{env_vars} heroku db:pull --confirm #{heroku_app_name} 2>&1"
|
117
115
|
say ""
|
118
|
-
|
116
|
+
|
119
117
|
say "Migration complete!", :green
|
120
118
|
rescue SystemExit
|
121
119
|
rescue EY::MultipleMatchesError => e
|
@@ -139,7 +137,7 @@ module Engineyard::Migrate
|
|
139
137
|
end
|
140
138
|
end
|
141
139
|
end
|
142
|
-
|
140
|
+
|
143
141
|
map "-v" => :version, "--version" => :version, "-h" => :help, "--help" => :help
|
144
142
|
|
145
143
|
private
|
@@ -147,7 +145,7 @@ module Engineyard::Migrate
|
|
147
145
|
path = options[:path] || "/data/#{@app.name}/current/"
|
148
146
|
flags = " #{options[:flags]}" || "" if options[:flags] # app master by default
|
149
147
|
full_cmd = "cd #{path}; #{cmd}"
|
150
|
-
ssh_cmd = "ey ssh #{Escape.shell_command(full_cmd)}#{flags} -e #{@environment.name} -c #{@environment.account.name}"
|
148
|
+
ssh_cmd = "ey ssh #{Escape.shell_command([full_cmd])}#{flags} -e #{@environment.name} -c #{@environment.account.name}"
|
151
149
|
debug options[:return_output] ? "Capturing: " : "Running: "
|
152
150
|
debug ssh_cmd, :yellow; $stdout.flush
|
153
151
|
out = ""
|
@@ -162,15 +160,15 @@ module Engineyard::Migrate
|
|
162
160
|
end
|
163
161
|
end
|
164
162
|
end
|
165
|
-
|
163
|
+
|
166
164
|
puts "exitstatus : #{ status.exitstatus }" unless status.exitstatus == 0
|
167
165
|
out if options[:return_output]
|
168
166
|
end
|
169
|
-
|
167
|
+
|
170
168
|
def say(msg, color = nil)
|
171
169
|
color ? shell.say(msg, color) : shell.say(msg)
|
172
170
|
end
|
173
|
-
|
171
|
+
|
174
172
|
def debug(msg, color = nil)
|
175
173
|
say(msg, color) if verbose
|
176
174
|
end
|
@@ -196,7 +194,7 @@ module Engineyard::Migrate
|
|
196
194
|
say " * Create an AppCloud environment for this application/git URL"
|
197
195
|
say " * Use --environment/--account flags to select an AppCloud environment"
|
198
196
|
end
|
199
|
-
|
197
|
+
|
200
198
|
def too_many_environments_discovered(task, environments, *args)
|
201
199
|
return no_environments_discovered if environments.empty?
|
202
200
|
say "Multiple environments possible, please be more specific:", :red
|
@@ -207,6 +205,6 @@ module Engineyard::Migrate
|
|
207
205
|
end
|
208
206
|
exit 1
|
209
207
|
end
|
210
|
-
|
208
|
+
|
211
209
|
end
|
212
210
|
end
|
metadata
CHANGED
@@ -1,252 +1,251 @@
|
|
1
|
-
--- !ruby/object:Gem::Specification
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
2
|
name: engineyard-migrate
|
3
|
-
version: !ruby/object:Gem::Version
|
4
|
-
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: 1.1.0
|
5
5
|
prerelease:
|
6
|
-
segments:
|
7
|
-
- 1
|
8
|
-
- 0
|
9
|
-
- 1
|
10
|
-
version: 1.0.1
|
11
6
|
platform: ruby
|
12
|
-
authors:
|
7
|
+
authors:
|
13
8
|
- Dr Nic Williams
|
14
9
|
- Danish Khan
|
15
10
|
autorequire:
|
16
11
|
bindir: bin
|
17
12
|
cert_chain: []
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
dependencies:
|
22
|
-
- !ruby/object:Gem::Dependency
|
13
|
+
date: 2012-04-30 00:00:00.000000000 Z
|
14
|
+
dependencies:
|
15
|
+
- !ruby/object:Gem::Dependency
|
23
16
|
name: engineyard
|
24
|
-
|
25
|
-
requirement: &id001 !ruby/object:Gem::Requirement
|
17
|
+
requirement: !ruby/object:Gem::Requirement
|
26
18
|
none: false
|
27
|
-
requirements:
|
28
|
-
- -
|
29
|
-
- !ruby/object:Gem::Version
|
30
|
-
|
31
|
-
segments:
|
32
|
-
- 0
|
33
|
-
version: "0"
|
19
|
+
requirements:
|
20
|
+
- - ~>
|
21
|
+
- !ruby/object:Gem::Version
|
22
|
+
version: 1.4.11
|
34
23
|
type: :runtime
|
35
|
-
version_requirements: *id001
|
36
|
-
- !ruby/object:Gem::Dependency
|
37
|
-
name: heroku
|
38
24
|
prerelease: false
|
39
|
-
|
25
|
+
version_requirements: !ruby/object:Gem::Requirement
|
26
|
+
none: false
|
27
|
+
requirements:
|
28
|
+
- - ~>
|
29
|
+
- !ruby/object:Gem::Version
|
30
|
+
version: 1.4.11
|
31
|
+
- !ruby/object:Gem::Dependency
|
32
|
+
name: heroku
|
33
|
+
requirement: !ruby/object:Gem::Requirement
|
40
34
|
none: false
|
41
|
-
requirements:
|
42
|
-
- -
|
43
|
-
- !ruby/object:Gem::Version
|
44
|
-
|
45
|
-
segments:
|
46
|
-
- 0
|
47
|
-
version: "0"
|
35
|
+
requirements:
|
36
|
+
- - ! '>='
|
37
|
+
- !ruby/object:Gem::Version
|
38
|
+
version: '0'
|
48
39
|
type: :runtime
|
49
|
-
version_requirements: *id002
|
50
|
-
- !ruby/object:Gem::Dependency
|
51
|
-
name: POpen4
|
52
40
|
prerelease: false
|
53
|
-
|
41
|
+
version_requirements: !ruby/object:Gem::Requirement
|
42
|
+
none: false
|
43
|
+
requirements:
|
44
|
+
- - ! '>='
|
45
|
+
- !ruby/object:Gem::Version
|
46
|
+
version: '0'
|
47
|
+
- !ruby/object:Gem::Dependency
|
48
|
+
name: POpen4
|
49
|
+
requirement: !ruby/object:Gem::Requirement
|
54
50
|
none: false
|
55
|
-
requirements:
|
51
|
+
requirements:
|
56
52
|
- - ~>
|
57
|
-
- !ruby/object:Gem::Version
|
58
|
-
hash: 19
|
59
|
-
segments:
|
60
|
-
- 0
|
61
|
-
- 1
|
62
|
-
- 4
|
53
|
+
- !ruby/object:Gem::Version
|
63
54
|
version: 0.1.4
|
64
55
|
type: :runtime
|
65
|
-
version_requirements: *id003
|
66
|
-
- !ruby/object:Gem::Dependency
|
67
|
-
name: net-sftp
|
68
56
|
prerelease: false
|
69
|
-
|
57
|
+
version_requirements: !ruby/object:Gem::Requirement
|
58
|
+
none: false
|
59
|
+
requirements:
|
60
|
+
- - ~>
|
61
|
+
- !ruby/object:Gem::Version
|
62
|
+
version: 0.1.4
|
63
|
+
- !ruby/object:Gem::Dependency
|
64
|
+
name: net-sftp
|
65
|
+
requirement: !ruby/object:Gem::Requirement
|
70
66
|
none: false
|
71
|
-
requirements:
|
67
|
+
requirements:
|
72
68
|
- - ~>
|
73
|
-
- !ruby/object:Gem::Version
|
74
|
-
hash: 5
|
75
|
-
segments:
|
76
|
-
- 2
|
77
|
-
- 0
|
78
|
-
- 5
|
69
|
+
- !ruby/object:Gem::Version
|
79
70
|
version: 2.0.5
|
80
71
|
type: :runtime
|
81
|
-
version_requirements: *id004
|
82
|
-
- !ruby/object:Gem::Dependency
|
83
|
-
name: awesome_print
|
84
72
|
prerelease: false
|
85
|
-
|
73
|
+
version_requirements: !ruby/object:Gem::Requirement
|
86
74
|
none: false
|
87
|
-
requirements:
|
88
|
-
- -
|
89
|
-
- !ruby/object:Gem::Version
|
90
|
-
|
91
|
-
|
92
|
-
|
93
|
-
|
75
|
+
requirements:
|
76
|
+
- - ~>
|
77
|
+
- !ruby/object:Gem::Version
|
78
|
+
version: 2.0.5
|
79
|
+
- !ruby/object:Gem::Dependency
|
80
|
+
name: awesome_print
|
81
|
+
requirement: !ruby/object:Gem::Requirement
|
82
|
+
none: false
|
83
|
+
requirements:
|
84
|
+
- - ! '>='
|
85
|
+
- !ruby/object:Gem::Version
|
86
|
+
version: '0'
|
94
87
|
type: :development
|
95
|
-
version_requirements: *id005
|
96
|
-
- !ruby/object:Gem::Dependency
|
97
|
-
name: builder
|
98
88
|
prerelease: false
|
99
|
-
|
89
|
+
version_requirements: !ruby/object:Gem::Requirement
|
100
90
|
none: false
|
101
|
-
requirements:
|
102
|
-
- -
|
103
|
-
- !ruby/object:Gem::Version
|
104
|
-
|
105
|
-
|
106
|
-
|
107
|
-
|
108
|
-
|
91
|
+
requirements:
|
92
|
+
- - ! '>='
|
93
|
+
- !ruby/object:Gem::Version
|
94
|
+
version: '0'
|
95
|
+
- !ruby/object:Gem::Dependency
|
96
|
+
name: builder
|
97
|
+
requirement: !ruby/object:Gem::Requirement
|
98
|
+
none: false
|
99
|
+
requirements:
|
100
|
+
- - '='
|
101
|
+
- !ruby/object:Gem::Version
|
109
102
|
version: 2.1.2
|
110
103
|
type: :development
|
111
|
-
version_requirements: *id006
|
112
|
-
- !ruby/object:Gem::Dependency
|
113
|
-
name: rails
|
114
104
|
prerelease: false
|
115
|
-
|
105
|
+
version_requirements: !ruby/object:Gem::Requirement
|
116
106
|
none: false
|
117
|
-
requirements:
|
118
|
-
- -
|
119
|
-
- !ruby/object:Gem::Version
|
120
|
-
|
121
|
-
|
122
|
-
|
123
|
-
|
124
|
-
|
107
|
+
requirements:
|
108
|
+
- - '='
|
109
|
+
- !ruby/object:Gem::Version
|
110
|
+
version: 2.1.2
|
111
|
+
- !ruby/object:Gem::Dependency
|
112
|
+
name: rails
|
113
|
+
requirement: !ruby/object:Gem::Requirement
|
114
|
+
none: false
|
115
|
+
requirements:
|
116
|
+
- - '='
|
117
|
+
- !ruby/object:Gem::Version
|
125
118
|
version: 3.0.3
|
126
119
|
type: :development
|
127
|
-
version_requirements: *id007
|
128
|
-
- !ruby/object:Gem::Dependency
|
129
|
-
name: rake
|
130
120
|
prerelease: false
|
131
|
-
|
121
|
+
version_requirements: !ruby/object:Gem::Requirement
|
132
122
|
none: false
|
133
|
-
requirements:
|
123
|
+
requirements:
|
124
|
+
- - '='
|
125
|
+
- !ruby/object:Gem::Version
|
126
|
+
version: 3.0.3
|
127
|
+
- !ruby/object:Gem::Dependency
|
128
|
+
name: rake
|
129
|
+
requirement: !ruby/object:Gem::Requirement
|
130
|
+
none: false
|
131
|
+
requirements:
|
134
132
|
- - ~>
|
135
|
-
- !ruby/object:Gem::Version
|
136
|
-
hash: 49
|
137
|
-
segments:
|
138
|
-
- 0
|
139
|
-
- 8
|
140
|
-
- 7
|
133
|
+
- !ruby/object:Gem::Version
|
141
134
|
version: 0.8.7
|
142
135
|
type: :development
|
143
|
-
version_requirements: *id008
|
144
|
-
- !ruby/object:Gem::Dependency
|
145
|
-
name: cucumber
|
146
136
|
prerelease: false
|
147
|
-
|
137
|
+
version_requirements: !ruby/object:Gem::Requirement
|
148
138
|
none: false
|
149
|
-
requirements:
|
139
|
+
requirements:
|
150
140
|
- - ~>
|
151
|
-
- !ruby/object:Gem::Version
|
152
|
-
|
153
|
-
|
154
|
-
|
155
|
-
|
156
|
-
|
141
|
+
- !ruby/object:Gem::Version
|
142
|
+
version: 0.8.7
|
143
|
+
- !ruby/object:Gem::Dependency
|
144
|
+
name: cucumber
|
145
|
+
requirement: !ruby/object:Gem::Requirement
|
146
|
+
none: false
|
147
|
+
requirements:
|
148
|
+
- - ~>
|
149
|
+
- !ruby/object:Gem::Version
|
157
150
|
version: 0.10.0
|
158
151
|
type: :development
|
159
|
-
version_requirements: *id009
|
160
|
-
- !ruby/object:Gem::Dependency
|
161
|
-
name: cucumber-rails
|
162
152
|
prerelease: false
|
163
|
-
|
153
|
+
version_requirements: !ruby/object:Gem::Requirement
|
154
|
+
none: false
|
155
|
+
requirements:
|
156
|
+
- - ~>
|
157
|
+
- !ruby/object:Gem::Version
|
158
|
+
version: 0.10.0
|
159
|
+
- !ruby/object:Gem::Dependency
|
160
|
+
name: cucumber-rails
|
161
|
+
requirement: !ruby/object:Gem::Requirement
|
164
162
|
none: false
|
165
|
-
requirements:
|
163
|
+
requirements:
|
166
164
|
- - ~>
|
167
|
-
- !ruby/object:Gem::Version
|
168
|
-
hash: 23
|
169
|
-
segments:
|
170
|
-
- 0
|
171
|
-
- 3
|
172
|
-
- 2
|
165
|
+
- !ruby/object:Gem::Version
|
173
166
|
version: 0.3.2
|
174
167
|
type: :development
|
175
|
-
version_requirements: *id010
|
176
|
-
- !ruby/object:Gem::Dependency
|
177
|
-
name: rspec
|
178
168
|
prerelease: false
|
179
|
-
|
169
|
+
version_requirements: !ruby/object:Gem::Requirement
|
170
|
+
none: false
|
171
|
+
requirements:
|
172
|
+
- - ~>
|
173
|
+
- !ruby/object:Gem::Version
|
174
|
+
version: 0.3.2
|
175
|
+
- !ruby/object:Gem::Dependency
|
176
|
+
name: rspec
|
177
|
+
requirement: !ruby/object:Gem::Requirement
|
180
178
|
none: false
|
181
|
-
requirements:
|
179
|
+
requirements:
|
182
180
|
- - ~>
|
183
|
-
- !ruby/object:Gem::Version
|
184
|
-
hash: 7
|
185
|
-
segments:
|
186
|
-
- 2
|
187
|
-
- 2
|
188
|
-
- 0
|
181
|
+
- !ruby/object:Gem::Version
|
189
182
|
version: 2.2.0
|
190
183
|
type: :development
|
191
|
-
version_requirements: *id011
|
192
|
-
- !ruby/object:Gem::Dependency
|
193
|
-
name: nokogiri
|
194
184
|
prerelease: false
|
195
|
-
|
185
|
+
version_requirements: !ruby/object:Gem::Requirement
|
196
186
|
none: false
|
197
|
-
requirements:
|
187
|
+
requirements:
|
198
188
|
- - ~>
|
199
|
-
- !ruby/object:Gem::Version
|
200
|
-
|
201
|
-
|
202
|
-
|
203
|
-
|
204
|
-
|
189
|
+
- !ruby/object:Gem::Version
|
190
|
+
version: 2.2.0
|
191
|
+
- !ruby/object:Gem::Dependency
|
192
|
+
name: nokogiri
|
193
|
+
requirement: !ruby/object:Gem::Requirement
|
194
|
+
none: false
|
195
|
+
requirements:
|
196
|
+
- - ~>
|
197
|
+
- !ruby/object:Gem::Version
|
205
198
|
version: 1.4.0
|
206
199
|
type: :development
|
207
|
-
version_requirements: *id012
|
208
|
-
- !ruby/object:Gem::Dependency
|
209
|
-
name: ssh-config
|
210
200
|
prerelease: false
|
211
|
-
|
201
|
+
version_requirements: !ruby/object:Gem::Requirement
|
202
|
+
none: false
|
203
|
+
requirements:
|
204
|
+
- - ~>
|
205
|
+
- !ruby/object:Gem::Version
|
206
|
+
version: 1.4.0
|
207
|
+
- !ruby/object:Gem::Dependency
|
208
|
+
name: ssh-config
|
209
|
+
requirement: !ruby/object:Gem::Requirement
|
212
210
|
none: false
|
213
|
-
requirements:
|
214
|
-
- -
|
215
|
-
- !ruby/object:Gem::Version
|
216
|
-
|
217
|
-
segments:
|
218
|
-
- 0
|
219
|
-
version: "0"
|
211
|
+
requirements:
|
212
|
+
- - ! '>='
|
213
|
+
- !ruby/object:Gem::Version
|
214
|
+
version: '0'
|
220
215
|
type: :development
|
221
|
-
version_requirements: *id013
|
222
|
-
- !ruby/object:Gem::Dependency
|
223
|
-
name: taps
|
224
216
|
prerelease: false
|
225
|
-
|
217
|
+
version_requirements: !ruby/object:Gem::Requirement
|
218
|
+
none: false
|
219
|
+
requirements:
|
220
|
+
- - ! '>='
|
221
|
+
- !ruby/object:Gem::Version
|
222
|
+
version: '0'
|
223
|
+
- !ruby/object:Gem::Dependency
|
224
|
+
name: taps
|
225
|
+
requirement: !ruby/object:Gem::Requirement
|
226
226
|
none: false
|
227
|
-
requirements:
|
227
|
+
requirements:
|
228
228
|
- - ~>
|
229
|
-
- !ruby/object:Gem::Version
|
230
|
-
hash: 13
|
231
|
-
segments:
|
232
|
-
- 0
|
233
|
-
- 3
|
234
|
-
- 15
|
229
|
+
- !ruby/object:Gem::Version
|
235
230
|
version: 0.3.15
|
236
231
|
type: :development
|
237
|
-
|
238
|
-
|
239
|
-
|
232
|
+
prerelease: false
|
233
|
+
version_requirements: !ruby/object:Gem::Requirement
|
234
|
+
none: false
|
235
|
+
requirements:
|
236
|
+
- - ~>
|
237
|
+
- !ruby/object:Gem::Version
|
238
|
+
version: 0.3.15
|
239
|
+
description: Want to migrate your Ruby on Rails application from Heroku (or similar)
|
240
|
+
up to Engine Yard AppCloud? This is the tool for you.
|
241
|
+
email:
|
240
242
|
- drnicwilliams@gmail.com
|
241
|
-
executables:
|
243
|
+
executables:
|
242
244
|
- ey-migrate
|
243
245
|
extensions: []
|
244
|
-
|
245
246
|
extra_rdoc_files: []
|
246
|
-
|
247
|
-
files:
|
247
|
+
files:
|
248
248
|
- .gitignore
|
249
|
-
- .rvmrc
|
250
249
|
- ChangeLog.md
|
251
250
|
- Gemfile
|
252
251
|
- MIT-LICENSE
|
@@ -275,41 +274,37 @@ files:
|
|
275
274
|
- lib/engineyard-migrate/cli.rb
|
276
275
|
- lib/engineyard-migrate/version.rb
|
277
276
|
- spec/spec_helper.rb
|
278
|
-
has_rdoc: true
|
279
277
|
homepage: https://github.com/engineyard/engineyard-migrate
|
280
278
|
licenses: []
|
281
|
-
|
282
279
|
post_install_message:
|
283
280
|
rdoc_options: []
|
284
|
-
|
285
|
-
require_paths:
|
281
|
+
require_paths:
|
286
282
|
- lib
|
287
|
-
required_ruby_version: !ruby/object:Gem::Requirement
|
283
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
288
284
|
none: false
|
289
|
-
requirements:
|
290
|
-
- -
|
291
|
-
- !ruby/object:Gem::Version
|
292
|
-
|
293
|
-
segments:
|
285
|
+
requirements:
|
286
|
+
- - ! '>='
|
287
|
+
- !ruby/object:Gem::Version
|
288
|
+
version: '0'
|
289
|
+
segments:
|
294
290
|
- 0
|
295
|
-
|
296
|
-
required_rubygems_version: !ruby/object:Gem::Requirement
|
291
|
+
hash: -2927084688178105813
|
292
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
297
293
|
none: false
|
298
|
-
requirements:
|
299
|
-
- -
|
300
|
-
- !ruby/object:Gem::Version
|
301
|
-
|
302
|
-
segments:
|
294
|
+
requirements:
|
295
|
+
- - ! '>='
|
296
|
+
- !ruby/object:Gem::Version
|
297
|
+
version: '0'
|
298
|
+
segments:
|
303
299
|
- 0
|
304
|
-
|
300
|
+
hash: -2927084688178105813
|
305
301
|
requirements: []
|
306
|
-
|
307
302
|
rubyforge_project: engineyard-migrate
|
308
|
-
rubygems_version: 1.
|
303
|
+
rubygems_version: 1.8.23
|
309
304
|
signing_key:
|
310
305
|
specification_version: 3
|
311
306
|
summary: Migrate up to Engine Yard AppCloud from Heroku or similar.
|
312
|
-
test_files:
|
307
|
+
test_files:
|
313
308
|
- features/heroku.feature
|
314
309
|
- features/migration_errors.feature
|
315
310
|
- features/step_definitions/application_setup_steps.rb
|
data/.rvmrc
DELETED
@@ -1,47 +0,0 @@
|
|
1
|
-
#!/usr/bin/env bash
|
2
|
-
|
3
|
-
# This is an RVM Project .rvmrc file, used to automatically load the ruby
|
4
|
-
# development environment upon cd'ing into the directory
|
5
|
-
|
6
|
-
# First we specify our desired <ruby>[@<gemset>], the @gemset name is optional.
|
7
|
-
environment_id="ruby-1.8.7-p330@engineyard-migrate"
|
8
|
-
|
9
|
-
#
|
10
|
-
# First we attempt to load the desired environment directly from the environment
|
11
|
-
# file, this is very fast and efficicent compared to running through the entire
|
12
|
-
# CLI and selector. If you want feedback on which environment was used then
|
13
|
-
# insert the word 'use' after --create as this triggers verbose mode.
|
14
|
-
#
|
15
|
-
if [[ -d "${rvm_path:-$HOME/.rvm}/environments" \
|
16
|
-
&& -s "${rvm_path:-$HOME/.rvm}/environments/$environment_id" ]] ; then
|
17
|
-
\. "${rvm_path:-$HOME/.rvm}/environments/$environment_id"
|
18
|
-
else
|
19
|
-
# If the environment file has not yet been created, use the RVM CLI to select.
|
20
|
-
rvm --create use "$environment_id"
|
21
|
-
fi
|
22
|
-
|
23
|
-
#
|
24
|
-
# If you use an RVM gemset file to install a list of gems (*.gems), you can have
|
25
|
-
# it be automatically loaded, uncomment the following and adjust the filename if
|
26
|
-
# necessary.
|
27
|
-
#
|
28
|
-
# filename=".gems"
|
29
|
-
# if [[ -s "$filename" ]] ; then
|
30
|
-
# rvm gemset import "$filename" | grep -v already | grep -v listed | grep -v complete | sed '/^$/d'
|
31
|
-
# fi
|
32
|
-
|
33
|
-
#
|
34
|
-
# If you use bundler and would like to run bundle each time you enter the
|
35
|
-
# directory you can uncomment the following code.
|
36
|
-
#
|
37
|
-
# # Ensure that Bundler is installed, install it if it is not.
|
38
|
-
# if ! command -v bundle ; then
|
39
|
-
# printf "The rubygem 'bundler' is not installed, installing it now.\n"
|
40
|
-
# gem install bundler
|
41
|
-
# fi
|
42
|
-
#
|
43
|
-
# # Bundle while redcing excess noise.
|
44
|
-
# printf "Bundling your gems this may take a few minutes on a fresh clone.\n"
|
45
|
-
# bundle | grep -v 'Using' | grep -v 'complete' | sed '/^$/d'
|
46
|
-
#
|
47
|
-
|