engineyard-migrate 1.0.1 → 1.1.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.
- 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
|
-
|