ruby_yacht 0.3.0 → 0.4.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 +4 -4
- data/Gemfile.lock +1 -1
- data/doc/TODO.md +1 -8
- data/lib/ruby_yacht/dsl/app.rb +37 -10
- data/lib/ruby_yacht/dsl/configuration.rb +21 -21
- data/lib/ruby_yacht/dsl/database.rb +53 -0
- data/lib/ruby_yacht/dsl/dsl.rb +14 -8
- data/lib/ruby_yacht/dsl/hook.rb +35 -15
- data/lib/ruby_yacht/dsl/project.rb +23 -10
- data/lib/ruby_yacht/dsl/{app_type.rb → server_type.rb} +39 -29
- data/lib/ruby_yacht/dsl.rb +1 -1
- data/lib/ruby_yacht/images/app/Dockerfile.erb +9 -5
- data/lib/ruby_yacht/images/app-dependencies/Dockerfile.erb +2 -2
- data/lib/ruby_yacht/images/database/Dockerfile.erb +12 -11
- data/lib/ruby_yacht/images/web/Dockerfile.erb +6 -2
- data/lib/ruby_yacht/images/web/add_app.rb +7 -1
- data/lib/ruby_yacht/images/web/app_config.erb +2 -0
- data/lib/ruby_yacht/plugins/mysql/scripts/setup.bash +11 -0
- data/lib/ruby_yacht/plugins/mysql.rb +27 -0
- data/lib/ruby_yacht/plugins/rails/scripts/install_gems.rb +6 -1
- data/lib/ruby_yacht/plugins/rails/scripts/load_seeds.rb +6 -4
- data/lib/ruby_yacht/plugins/rails/scripts/prepare_rails_for_launch.rb +1 -0
- data/lib/ruby_yacht/plugins/rails/scripts/update_rails_config.rb +1 -5
- data/lib/ruby_yacht/plugins/rails.rb +12 -4
- data/lib/ruby_yacht/plugins.rb +2 -1
- data/lib/ruby_yacht/runner/build_images.rb +32 -26
- data/lib/ruby_yacht/runner/checkout.rb +5 -4
- data/lib/ruby_yacht/runner/run_containers.rb +7 -6
- data/lib/ruby_yacht/runner/services.rb +2 -2
- data/lib/ruby_yacht/runner/shell.rb +5 -4
- data/lib/ruby_yacht/runner/update_hosts.rb +2 -1
- data/ruby_yacht.gemspec +1 -1
- data/spec/dsl/app_spec.rb +96 -10
- data/spec/dsl/configuration_spec.rb +53 -55
- data/spec/dsl/database_spec.rb +70 -12
- data/spec/dsl/hook_spec.rb +36 -19
- data/spec/dsl/project_spec.rb +26 -18
- data/spec/dsl/{app_type_spec.rb → server_type_spec.rb} +52 -28
- data/spec/fixtures/app-dependencies-dockerfile-rails +3 -0
- data/spec/fixtures/database-dockerfile +1 -8
- data/spec/fixtures/database-dockerfile-mysql +30 -0
- data/spec/fixtures/database-dockerfile-rails +1 -5
- data/spec/fixtures/database-dockerfile-with-seed-hooks +1 -8
- data/spec/fixtures/mars-before-startup-with-custom-file-copy +6 -0
- data/spec/fixtures/mars-dockerfile +0 -4
- data/spec/fixtures/mars-dockerfile-rails +2 -2
- data/spec/fixtures/mars-dockerfile-with-after-checkout-hooks +0 -4
- data/spec/fixtures/mars-dockerfile-with-before-startup-hooks +0 -4
- data/spec/fixtures/mars-dockerfile-with-custom-file-copy +23 -0
- data/spec/fixtures/mars-dockerfile-with-local-database +27 -0
- data/spec/fixtures/mars-dockerfile-with-remote-database +27 -0
- data/spec/fixtures/web-dockerfile-with-eponymous-app +20 -0
- data/spec/plugins/mysql_spec.rb +64 -0
- data/spec/plugins/rails_spec.rb +103 -43
- data/spec/runner/build_images_spec.rb +142 -11
- data/spec/runner/checkout_spec.rb +4 -4
- data/spec/runner/run_containers_spec.rb +21 -2
- data/spec/runner/runner_spec.rb +1 -1
- data/spec/runner/services_spec.rb +7 -2
- data/spec/runner/shell_spec.rb +3 -3
- data/spec/runner/update_hosts_spec.rb +26 -0
- data/spec/support/test_project.rb +16 -20
- metadata +20 -5
- data/lib/ruby_yacht/images/database/setup.bash +0 -15
data/spec/dsl/hook_spec.rb
CHANGED
@@ -1,18 +1,18 @@
|
|
1
1
|
require 'spec_helper'
|
2
2
|
|
3
3
|
describe RubyYacht::Hook do
|
4
|
-
describe "
|
5
|
-
context "with no
|
4
|
+
describe "copied_file_name" do
|
5
|
+
context "with no copied_file_path" do
|
6
6
|
it "is an empty string" do
|
7
|
-
expect(subject.
|
7
|
+
expect(subject.copied_file_name).to eq ""
|
8
8
|
end
|
9
9
|
end
|
10
10
|
|
11
|
-
context "with a
|
12
|
-
before { subject.
|
11
|
+
context "with a a copied_file_path" do
|
12
|
+
before { subject.copied_file_path = "./foo/bar.rb" }
|
13
13
|
|
14
|
-
it "gets the filename from the
|
15
|
-
expect(subject.
|
14
|
+
it "gets the filename from the path" do
|
15
|
+
expect(subject.copied_file_name).to eq "bar.rb"
|
16
16
|
end
|
17
17
|
end
|
18
18
|
end
|
@@ -25,13 +25,14 @@ describe RubyYacht::Hook do
|
|
25
25
|
RubyYacht.configuration.clear
|
26
26
|
|
27
27
|
RubyYacht.configure do
|
28
|
-
|
28
|
+
server_type :test do
|
29
|
+
container_type :app
|
29
30
|
baseline_image 'ubuntu'
|
30
31
|
end
|
31
32
|
end
|
32
33
|
|
33
34
|
@config_block = Proc.new do
|
34
|
-
|
35
|
+
server_type :test
|
35
36
|
command 'curl google.com'
|
36
37
|
end
|
37
38
|
end
|
@@ -39,27 +40,27 @@ describe RubyYacht::Hook do
|
|
39
40
|
it "can create a hook for running a command" do
|
40
41
|
expect(hook.event_time).to eq :before
|
41
42
|
expect(hook.event_type).to eq :startup
|
42
|
-
expect(hook.
|
43
|
+
expect(hook.server_type).to eq :test
|
43
44
|
expect(hook.command).to eq 'curl google.com'
|
44
45
|
end
|
45
46
|
|
46
|
-
it "can create a hook for running a
|
47
|
+
it "can create a hook for running a script" do
|
47
48
|
@config_block = Proc.new do
|
48
|
-
|
49
|
+
server_type :test
|
49
50
|
script_folder './foo'
|
50
51
|
run_script 'bar.rb'
|
51
52
|
end
|
52
53
|
expect(hook.event_time).to eq :before
|
53
54
|
expect(hook.event_type).to eq :startup
|
54
|
-
expect(hook.
|
55
|
-
expect(hook.
|
55
|
+
expect(hook.server_type).to eq :test
|
56
|
+
expect(hook.copied_file_path).to eq './foo/bar.rb'
|
56
57
|
expect(hook.command).to eq '/var/docker/bar.rb'
|
57
58
|
end
|
58
59
|
|
59
60
|
context "with no command" do
|
60
61
|
before do
|
61
62
|
@config_block = Proc.new do
|
62
|
-
|
63
|
+
server_type :test
|
63
64
|
end
|
64
65
|
end
|
65
66
|
|
@@ -71,16 +72,32 @@ describe RubyYacht::Hook do
|
|
71
72
|
context "with a script name and no script path" do
|
72
73
|
before do
|
73
74
|
@config_block = Proc.new do
|
74
|
-
|
75
|
+
server_type :test
|
75
76
|
run_script 'bar.rb'
|
76
77
|
end
|
77
78
|
end
|
78
79
|
|
79
80
|
it "creates a hook with with the script relative to the current folder" do
|
80
|
-
expect(hook.
|
81
|
+
expect(hook.copied_file_path).to eq './bar.rb'
|
81
82
|
expect(hook.command).to eq '/var/docker/bar.rb'
|
82
83
|
end
|
83
84
|
end
|
85
|
+
|
86
|
+
context "with a custom command for copying a file" do
|
87
|
+
before do
|
88
|
+
@config_block = Proc.new do
|
89
|
+
server_type :test
|
90
|
+
script_folder './foo'
|
91
|
+
copy_file 'test.txt'
|
92
|
+
command 'scp /var/docker/test.txt test.com:test.txt'
|
93
|
+
end
|
94
|
+
end
|
95
|
+
|
96
|
+
it "uses that file as the copied_file_path" do
|
97
|
+
expect(hook.copied_file_path).to eq './foo/test.txt'
|
98
|
+
expect(hook.command).to eq 'scp /var/docker/test.txt test.com:test.txt'
|
99
|
+
end
|
100
|
+
end
|
84
101
|
|
85
102
|
context "with no app type" do
|
86
103
|
before do
|
@@ -91,14 +108,14 @@ describe RubyYacht::Hook do
|
|
91
108
|
end
|
92
109
|
|
93
110
|
it "raises an exception" do
|
94
|
-
expect { hook }.to raise_exception 'Missing required attribute
|
111
|
+
expect { hook }.to raise_exception 'Missing required attribute server_type for RubyYacht::Hook::DSL'
|
95
112
|
end
|
96
113
|
end
|
97
114
|
|
98
115
|
context "with an invalid app type" do
|
99
116
|
before do
|
100
117
|
@config_block = Proc.new do
|
101
|
-
|
118
|
+
server_type :invalid
|
102
119
|
command 'whoami'
|
103
120
|
end
|
104
121
|
end
|
data/spec/dsl/project_spec.rb
CHANGED
@@ -7,7 +7,14 @@ describe RubyYacht::Project do
|
|
7
7
|
before do
|
8
8
|
RubyYacht.configuration.clear
|
9
9
|
RubyYacht.configure do
|
10
|
-
|
10
|
+
server_type :generic do
|
11
|
+
container_type :app
|
12
|
+
baseline_image 'ubuntu'
|
13
|
+
end
|
14
|
+
server_type :sqlite do
|
15
|
+
container_type :database
|
16
|
+
baseline_image 'ubuntu'
|
17
|
+
end
|
11
18
|
end
|
12
19
|
end
|
13
20
|
|
@@ -25,11 +32,11 @@ describe RubyYacht::Project do
|
|
25
32
|
repository_name 'brownleej/test2'
|
26
33
|
end
|
27
34
|
|
28
|
-
database do
|
35
|
+
database :project1, :sqlite do
|
29
36
|
host "localhost"
|
30
|
-
name "project1"
|
31
37
|
username "test"
|
32
38
|
password "test"
|
39
|
+
container_label :sqlite
|
33
40
|
end
|
34
41
|
|
35
42
|
dns_server do
|
@@ -46,7 +53,8 @@ describe RubyYacht::Project do
|
|
46
53
|
expect(project.primary_app).to eq :app1
|
47
54
|
|
48
55
|
expect(project.apps.map(&:name)).to eq [:app1, :app2]
|
49
|
-
expect(project.
|
56
|
+
expect(project.databases.map(&:name)).to eq [:project1]
|
57
|
+
|
50
58
|
expect(project.dns_server.servers).to eq ['8.10.1.1']
|
51
59
|
end
|
52
60
|
|
@@ -63,11 +71,11 @@ describe RubyYacht::Project do
|
|
63
71
|
repository_name 'brownleej/test2'
|
64
72
|
end
|
65
73
|
|
66
|
-
database do
|
74
|
+
database :project1, :sqlite do
|
67
75
|
host "localhost"
|
68
|
-
name "project1"
|
69
76
|
username "test"
|
70
77
|
password "test"
|
78
|
+
container_label :sqlite
|
71
79
|
end
|
72
80
|
|
73
81
|
dns_server do
|
@@ -93,11 +101,11 @@ describe RubyYacht::Project do
|
|
93
101
|
repository_name 'brownleej/test2'
|
94
102
|
end
|
95
103
|
|
96
|
-
database do
|
104
|
+
database :project1, :sqlite do
|
97
105
|
host "localhost"
|
98
|
-
name "project1"
|
99
106
|
username "test"
|
100
107
|
password "test"
|
108
|
+
container_label :sqlite
|
101
109
|
end
|
102
110
|
|
103
111
|
dns_server do
|
@@ -123,11 +131,11 @@ describe RubyYacht::Project do
|
|
123
131
|
repository_name 'brownleej/test2'
|
124
132
|
end
|
125
133
|
|
126
|
-
database do
|
134
|
+
database :project1, :sqlite do
|
127
135
|
host "localhost"
|
128
|
-
name "project1"
|
129
136
|
username "test"
|
130
137
|
password "test"
|
138
|
+
container_label :sqlite
|
131
139
|
end
|
132
140
|
|
133
141
|
dns_server do
|
@@ -146,11 +154,11 @@ describe RubyYacht::Project do
|
|
146
154
|
domain "a.test.com"
|
147
155
|
repository "github.com"
|
148
156
|
|
149
|
-
database do
|
157
|
+
database :project1, :sqlite do
|
150
158
|
host "localhost"
|
151
|
-
name "project1"
|
152
159
|
username "test"
|
153
160
|
password "test"
|
161
|
+
container_label :sqlite
|
154
162
|
end
|
155
163
|
|
156
164
|
dns_server do
|
@@ -163,7 +171,7 @@ describe RubyYacht::Project do
|
|
163
171
|
expect(project.apps.count).to eq 0
|
164
172
|
end
|
165
173
|
|
166
|
-
it "
|
174
|
+
it "does not require the database config" do
|
167
175
|
@builder = Proc.new do
|
168
176
|
system_prefix :a
|
169
177
|
domain "a.test.com"
|
@@ -184,7 +192,7 @@ describe RubyYacht::Project do
|
|
184
192
|
primary_app :app1
|
185
193
|
end
|
186
194
|
|
187
|
-
expect
|
195
|
+
expect(project.databases.count).to eq 0
|
188
196
|
end
|
189
197
|
|
190
198
|
it "does not require the DNS server config" do
|
@@ -201,11 +209,11 @@ describe RubyYacht::Project do
|
|
201
209
|
repository_name 'brownleej/test2'
|
202
210
|
end
|
203
211
|
|
204
|
-
database do
|
212
|
+
database :project1, :sqlite do
|
205
213
|
host "localhost"
|
206
|
-
name "project1"
|
207
214
|
username "test"
|
208
215
|
password "test"
|
216
|
+
container_label :sqlite
|
209
217
|
end
|
210
218
|
|
211
219
|
primary_app :app1
|
@@ -228,11 +236,11 @@ describe RubyYacht::Project do
|
|
228
236
|
repository_name 'brownleej/test2'
|
229
237
|
end
|
230
238
|
|
231
|
-
database do
|
239
|
+
database :project1, :sqlite do
|
232
240
|
host "localhost"
|
233
|
-
name "project1"
|
234
241
|
username "test"
|
235
242
|
password "test"
|
243
|
+
container_label :sqlite
|
236
244
|
end
|
237
245
|
|
238
246
|
dns_server do
|
@@ -1,16 +1,17 @@
|
|
1
1
|
require 'spec_helper'
|
2
2
|
|
3
|
-
describe RubyYacht::
|
3
|
+
describe RubyYacht::ServerType do
|
4
4
|
let(:full_config_block) do
|
5
5
|
Proc.new do
|
6
|
+
container_type :app
|
6
7
|
baseline_image 'ubuntu'
|
7
8
|
project_attribute name: :environment, default: 'staging'
|
8
9
|
project_attribute name: :foo
|
9
10
|
|
10
|
-
|
11
|
+
server_attribute name: :bar, required: false
|
11
12
|
|
12
13
|
environment_variable :app, 'SECRET_KEY' do
|
13
|
-
@
|
14
|
+
@server.secret_key
|
14
15
|
end
|
15
16
|
end
|
16
17
|
end
|
@@ -18,7 +19,15 @@ describe RubyYacht::AppType do
|
|
18
19
|
before do
|
19
20
|
RubyYacht.configuration.clear
|
20
21
|
RubyYacht.configure do
|
21
|
-
|
22
|
+
server_type :generic do
|
23
|
+
container_type :app
|
24
|
+
baseline_image 'ubuntu'
|
25
|
+
end
|
26
|
+
|
27
|
+
server_type :sqlite do
|
28
|
+
container_type :database
|
29
|
+
baseline_image 'ubuntu'
|
30
|
+
end
|
22
31
|
end
|
23
32
|
end
|
24
33
|
|
@@ -28,11 +37,12 @@ describe RubyYacht::AppType do
|
|
28
37
|
system_prefix 'test-project'
|
29
38
|
repository 'github.com'
|
30
39
|
domain 'test.com'
|
31
|
-
|
32
|
-
|
33
|
-
|
34
|
-
username
|
35
|
-
password
|
40
|
+
|
41
|
+
database :project1, :sqlite do
|
42
|
+
host "localhost"
|
43
|
+
username "test"
|
44
|
+
password "test"
|
45
|
+
container_label :sqlite
|
36
46
|
end
|
37
47
|
end
|
38
48
|
end
|
@@ -40,7 +50,7 @@ describe RubyYacht::AppType do
|
|
40
50
|
before do
|
41
51
|
block = full_config_block
|
42
52
|
RubyYacht.configure do
|
43
|
-
|
53
|
+
server_type :app_type_test do
|
44
54
|
instance_eval(&block)
|
45
55
|
end
|
46
56
|
end
|
@@ -61,7 +71,7 @@ describe RubyYacht::AppType do
|
|
61
71
|
|
62
72
|
app = RubyYacht.configuration.projects.last.apps.first
|
63
73
|
expect(app.name).to eq :test
|
64
|
-
expect(app.
|
74
|
+
expect(app.server_type).to eq :app_type_test
|
65
75
|
end
|
66
76
|
|
67
77
|
it "creates attributes for the project attributes on the Project DSL" do
|
@@ -137,39 +147,53 @@ describe RubyYacht::AppType do
|
|
137
147
|
end
|
138
148
|
|
139
149
|
describe "dsl" do
|
140
|
-
let(:dsl) { RubyYacht::
|
141
|
-
let(:
|
150
|
+
let(:dsl) { RubyYacht::ServerType::DSL.new(:app_type_test) }
|
151
|
+
let(:server_type) { dsl.run(@config_block).create_object }
|
142
152
|
|
143
153
|
before do
|
144
154
|
@config_block = full_config_block
|
145
155
|
end
|
146
156
|
|
147
157
|
it "sets the information on the app type" do
|
148
|
-
expect(
|
149
|
-
expect(
|
158
|
+
expect(server_type.name).to eq :app_type_test
|
159
|
+
expect(server_type.container_type).to eq :app
|
160
|
+
expect(server_type.baseline_image).to eq 'ubuntu'
|
150
161
|
|
151
|
-
expect(
|
152
|
-
expect(
|
153
|
-
expect(
|
162
|
+
expect(server_type.project_attributes.count).to eq 2
|
163
|
+
expect(server_type.project_attributes[0]).to eq(name: :environment, default: 'staging')
|
164
|
+
expect(server_type.project_attributes[1]).to eq(name: :foo)
|
154
165
|
|
155
|
-
expect(
|
156
|
-
expect(
|
166
|
+
expect(server_type.server_attributes.count).to eq 1
|
167
|
+
expect(server_type.server_attributes[0]).to eq(name: :bar, required: false)
|
157
168
|
|
158
|
-
@
|
159
|
-
@
|
169
|
+
@server = Object.new
|
170
|
+
@server.define_singleton_method :secret_key do
|
160
171
|
'abc1234'
|
161
172
|
end
|
162
173
|
|
163
|
-
expect(
|
164
|
-
expect(
|
165
|
-
expect(
|
166
|
-
expect(instance_eval(&
|
174
|
+
expect(server_type.environment_variables.count).to eq 1
|
175
|
+
expect(server_type.environment_variables[0][:name]).to eq 'SECRET_KEY'
|
176
|
+
expect(server_type.environment_variables[0][:image]).to eq :app
|
177
|
+
expect(instance_eval(&server_type.environment_variables[0][:block])).to eq 'abc1234'
|
167
178
|
end
|
168
179
|
|
169
180
|
context "with no baseline image" do
|
170
181
|
it "raises an exception" do
|
171
|
-
@config_block = Proc.new
|
172
|
-
|
182
|
+
@config_block = Proc.new do
|
183
|
+
container_type :app
|
184
|
+
end
|
185
|
+
|
186
|
+
expect { server_type }.to raise_exception "Missing required attribute baseline_image for RubyYacht::ServerType::DSL"
|
187
|
+
end
|
188
|
+
end
|
189
|
+
|
190
|
+
context "with no container type" do
|
191
|
+
it "raises an exception" do
|
192
|
+
@config_block = Proc.new do
|
193
|
+
baseline_image 'ubuntu'
|
194
|
+
end
|
195
|
+
|
196
|
+
expect { server_type }.to raise_exception "Missing required attribute container_type for RubyYacht::ServerType::DSL"
|
173
197
|
end
|
174
198
|
end
|
175
199
|
end
|
@@ -1,25 +1,18 @@
|
|
1
1
|
FROM apollo-debian-app-dependencies
|
2
2
|
|
3
|
-
ENV DEBIAN_FRONTEND noninteractive
|
4
|
-
RUN apt-get install -y mysql-server
|
5
|
-
|
6
3
|
ENV DATABASE_USERNAME apollo
|
7
4
|
ENV DATABASE_PASSWORD test
|
8
5
|
ENV DATABASE_NAME apollo
|
6
|
+
ENV DATABASE_TYPE sqlite
|
9
7
|
|
10
8
|
COPY setup.bash /var/docker/setup.bash
|
11
9
|
COPY checkout.bash /var/docker/checkout.bash
|
12
10
|
|
13
11
|
RUN chmod u+x /var/docker/*
|
14
12
|
|
15
|
-
RUN /var/docker/setup.bash apollo apollo test
|
16
|
-
|
17
13
|
RUN /var/docker/checkout.bash github.com mars brownleej/mars
|
18
14
|
WORKDIR /var/code/mars
|
19
15
|
|
20
|
-
RUN /var/docker/checkout.bash github.com saturn brownleej/saturn
|
21
|
-
WORKDIR /var/code/saturn
|
22
|
-
|
23
16
|
RUN rm -r /var/docker
|
24
17
|
RUN rm -r /var/code
|
25
18
|
|
@@ -0,0 +1,30 @@
|
|
1
|
+
FROM apollo-generic-app-dependencies
|
2
|
+
|
3
|
+
ENV DATABASE_USERNAME apollo
|
4
|
+
ENV DATABASE_PASSWORD test
|
5
|
+
ENV DATABASE_NAME apollo
|
6
|
+
ENV DATABASE_TYPE mysql
|
7
|
+
ENV DEBIAN_FRONTEND noninteractive
|
8
|
+
|
9
|
+
RUN apt-get install -y mysql-server
|
10
|
+
|
11
|
+
COPY setup.bash /var/docker/setup.bash
|
12
|
+
COPY checkout.bash /var/docker/checkout.bash
|
13
|
+
|
14
|
+
RUN chmod u+x /var/docker/*
|
15
|
+
|
16
|
+
RUN /var/docker/setup.bash
|
17
|
+
|
18
|
+
RUN /var/docker/checkout.bash github.com mars brownleej/mars
|
19
|
+
WORKDIR /var/code/mars
|
20
|
+
|
21
|
+
RUN rm -r /var/docker
|
22
|
+
RUN rm -r /var/code
|
23
|
+
|
24
|
+
ENV DATABASE_USERNAME ''
|
25
|
+
ENV DATABASE_PASSWORD ''
|
26
|
+
ENV DATABASE_NAME ''
|
27
|
+
|
28
|
+
EXPOSE 3306
|
29
|
+
|
30
|
+
CMD mysqld_safe --bind-address=0.0.0.0
|
@@ -1,11 +1,9 @@
|
|
1
1
|
FROM apollo-rails-app-dependencies
|
2
2
|
|
3
|
-
ENV DEBIAN_FRONTEND noninteractive
|
4
|
-
RUN apt-get install -y mysql-server
|
5
|
-
|
6
3
|
ENV DATABASE_USERNAME apollo
|
7
4
|
ENV DATABASE_PASSWORD test
|
8
5
|
ENV DATABASE_NAME apollo
|
6
|
+
ENV DATABASE_TYPE sqlite
|
9
7
|
|
10
8
|
COPY setup.bash /var/docker/setup.bash
|
11
9
|
COPY checkout.bash /var/docker/checkout.bash
|
@@ -13,8 +11,6 @@ COPY load_seeds.rb /var/docker/load_seeds.rb
|
|
13
11
|
|
14
12
|
RUN chmod u+x /var/docker/*
|
15
13
|
|
16
|
-
RUN /var/docker/setup.bash apollo apollo test
|
17
|
-
|
18
14
|
RUN /var/docker/checkout.bash github.com mars brownleej/mars
|
19
15
|
WORKDIR /var/code/mars
|
20
16
|
RUN /var/docker/load_seeds.rb
|
@@ -1,11 +1,9 @@
|
|
1
1
|
FROM apollo-debian-app-dependencies
|
2
2
|
|
3
|
-
ENV DEBIAN_FRONTEND noninteractive
|
4
|
-
RUN apt-get install -y mysql-server
|
5
|
-
|
6
3
|
ENV DATABASE_USERNAME apollo
|
7
4
|
ENV DATABASE_PASSWORD test
|
8
5
|
ENV DATABASE_NAME apollo
|
6
|
+
ENV DATABASE_TYPE sqlite
|
9
7
|
|
10
8
|
COPY setup.bash /var/docker/setup.bash
|
11
9
|
COPY checkout.bash /var/docker/checkout.bash
|
@@ -13,15 +11,10 @@ COPY hook1.rb /var/docker/hook1.rb
|
|
13
11
|
|
14
12
|
RUN chmod u+x /var/docker/*
|
15
13
|
|
16
|
-
RUN /var/docker/setup.bash apollo apollo test
|
17
|
-
|
18
14
|
RUN /var/docker/checkout.bash github.com mars brownleej/mars
|
19
15
|
WORKDIR /var/code/mars
|
20
16
|
RUN /var/docker/hook1.rb
|
21
17
|
|
22
|
-
RUN /var/docker/checkout.bash github.com saturn brownleej/saturn
|
23
|
-
WORKDIR /var/code/saturn
|
24
|
-
|
25
18
|
RUN rm -r /var/docker
|
26
19
|
RUN rm -r /var/code
|
27
20
|
|
@@ -4,11 +4,11 @@ ENV DATABASE_HOST db.test.com
|
|
4
4
|
ENV DATABASE_NAME apollo
|
5
5
|
ENV DATABASE_PASSWORD test
|
6
6
|
ENV DATABASE_USERNAME apollo
|
7
|
+
ENV DATABASE_TYPE sqlite
|
7
8
|
ENV APP_PORT 8080
|
8
9
|
ENV REPOSITORY_HOST github.com
|
9
10
|
ENV REPOSITORY_NAME brownleej/mars
|
10
11
|
ENV SYSTEM_PREFIX apollo
|
11
|
-
ENV RAILS_ENV development
|
12
12
|
ENV SECRET_KEY_BASE abc
|
13
13
|
|
14
14
|
RUN rm -r /var/code
|
@@ -24,7 +24,7 @@ RUN chmod u+x /var/docker/*
|
|
24
24
|
|
25
25
|
RUN /var/docker/checkout.bash
|
26
26
|
WORKDIR /var/code
|
27
|
-
RUN bundle install
|
27
|
+
RUN bundle install --clean
|
28
28
|
|
29
29
|
EXPOSE 8080
|
30
30
|
|
@@ -0,0 +1,23 @@
|
|
1
|
+
FROM apollo-generic-app-dependencies
|
2
|
+
|
3
|
+
ENV APP_PORT 8080
|
4
|
+
ENV REPOSITORY_HOST github.com
|
5
|
+
ENV REPOSITORY_NAME brownleej/mars
|
6
|
+
ENV SYSTEM_PREFIX apollo
|
7
|
+
|
8
|
+
RUN rm -r /var/code
|
9
|
+
RUN mkdir -p /var/code
|
10
|
+
|
11
|
+
COPY checkout.bash /var/docker/checkout.bash
|
12
|
+
COPY before_startup.bash /var/docker/before_startup.bash
|
13
|
+
COPY startup.bash /var/docker/startup.bash
|
14
|
+
COPY hook1.rb /var/docker/hook1.rb
|
15
|
+
|
16
|
+
RUN chmod u+x /var/docker/*
|
17
|
+
|
18
|
+
RUN /var/docker/checkout.bash
|
19
|
+
WORKDIR /var/code
|
20
|
+
|
21
|
+
EXPOSE 8080
|
22
|
+
|
23
|
+
CMD /var/docker/startup.bash
|
@@ -0,0 +1,27 @@
|
|
1
|
+
FROM apollo-generic-app-dependencies
|
2
|
+
|
3
|
+
ENV DATABASE_HOST apollo-mysql
|
4
|
+
ENV DATABASE_NAME apollo
|
5
|
+
ENV DATABASE_PASSWORD test
|
6
|
+
ENV DATABASE_USERNAME apollo
|
7
|
+
ENV DATABASE_TYPE sqlite
|
8
|
+
ENV APP_PORT 8080
|
9
|
+
ENV REPOSITORY_HOST github.com
|
10
|
+
ENV REPOSITORY_NAME brownleej/mars
|
11
|
+
ENV SYSTEM_PREFIX apollo
|
12
|
+
|
13
|
+
RUN rm -r /var/code
|
14
|
+
RUN mkdir -p /var/code
|
15
|
+
|
16
|
+
COPY checkout.bash /var/docker/checkout.bash
|
17
|
+
COPY before_startup.bash /var/docker/before_startup.bash
|
18
|
+
COPY startup.bash /var/docker/startup.bash
|
19
|
+
|
20
|
+
RUN chmod u+x /var/docker/*
|
21
|
+
|
22
|
+
RUN /var/docker/checkout.bash
|
23
|
+
WORKDIR /var/code
|
24
|
+
|
25
|
+
EXPOSE 8080
|
26
|
+
|
27
|
+
CMD /var/docker/startup.bash
|
@@ -0,0 +1,27 @@
|
|
1
|
+
FROM apollo-generic-app-dependencies
|
2
|
+
|
3
|
+
ENV DATABASE_HOST db1.test.com
|
4
|
+
ENV DATABASE_NAME apollo
|
5
|
+
ENV DATABASE_PASSWORD test
|
6
|
+
ENV DATABASE_USERNAME apollo
|
7
|
+
ENV DATABASE_TYPE mysql
|
8
|
+
ENV APP_PORT 8080
|
9
|
+
ENV REPOSITORY_HOST github.com
|
10
|
+
ENV REPOSITORY_NAME brownleej/mars
|
11
|
+
ENV SYSTEM_PREFIX apollo
|
12
|
+
|
13
|
+
RUN rm -r /var/code
|
14
|
+
RUN mkdir -p /var/code
|
15
|
+
|
16
|
+
COPY checkout.bash /var/docker/checkout.bash
|
17
|
+
COPY before_startup.bash /var/docker/before_startup.bash
|
18
|
+
COPY startup.bash /var/docker/startup.bash
|
19
|
+
|
20
|
+
RUN chmod u+x /var/docker/*
|
21
|
+
|
22
|
+
RUN /var/docker/checkout.bash
|
23
|
+
WORKDIR /var/code
|
24
|
+
|
25
|
+
EXPOSE 8080
|
26
|
+
|
27
|
+
CMD /var/docker/startup.bash
|