ruby_yacht 0.1.1 → 0.2.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +7 -0
- data/Gemfile.lock +1 -1
- data/doc/TODO.md +16 -6
- data/doc/configuration_sample.rb +8 -9
- data/lib/ruby_yacht/dsl/app.rb +29 -1
- data/lib/ruby_yacht/dsl/app_type.rb +112 -0
- data/lib/ruby_yacht/dsl/configuration.rb +163 -2
- data/lib/ruby_yacht/dsl/dsl.rb +51 -9
- data/lib/ruby_yacht/dsl/hook.rb +105 -0
- data/lib/ruby_yacht/dsl/project.rb +17 -21
- data/lib/ruby_yacht/dsl.rb +2 -0
- data/lib/ruby_yacht/images/app/Dockerfile.erb +20 -13
- data/lib/ruby_yacht/images/app/before_startup.bash.erb +8 -0
- data/lib/ruby_yacht/images/app/checkout.bash +6 -0
- data/lib/ruby_yacht/images/app/startup.bash.erb +5 -0
- data/lib/ruby_yacht/images/app-dependencies/Dockerfile.erb +23 -5
- data/lib/ruby_yacht/images/database/Dockerfile.erb +25 -11
- data/lib/ruby_yacht/images/database/checkout.bash +10 -0
- data/lib/ruby_yacht/images/database/setup.bash +15 -0
- data/lib/ruby_yacht/images/web/Dockerfile.erb +4 -3
- data/lib/ruby_yacht/plugins/rails/scripts/install_gems.rb +3 -0
- data/lib/ruby_yacht/plugins/rails/scripts/load_seeds.rb +34 -0
- data/lib/ruby_yacht/{images/app/startup.rb → plugins/rails/scripts/prepare_rails_for_launch.rb} +2 -8
- data/lib/ruby_yacht/{images/app/update_database_config.rb → plugins/rails/scripts/update_rails_config.rb} +0 -1
- data/lib/ruby_yacht/plugins/rails.rb +40 -0
- data/lib/ruby_yacht/plugins.rb +6 -0
- data/lib/ruby_yacht/runner/build_images.rb +72 -5
- data/lib/ruby_yacht/runner/checkout.rb +1 -1
- data/lib/ruby_yacht.rb +2 -1
- data/ruby_yacht.gemspec +2 -1
- data/spec/docker/Dockerfile +1 -1
- data/spec/dsl/app_spec.rb +34 -0
- data/spec/dsl/app_type_spec.rb +176 -0
- data/spec/dsl/configuration_spec.rb +161 -2
- data/spec/dsl/dsl_spec.rb +3 -3
- data/spec/dsl/hook_spec.rb +111 -0
- data/spec/dsl/project_spec.rb +19 -83
- data/spec/fixtures/app-dependencies-dockerfile-generic +21 -0
- data/spec/fixtures/app-dependencies-dockerfile-generic-with-library-install +28 -0
- data/spec/fixtures/app-dependencies-dockerfile-rails +32 -0
- data/spec/fixtures/database-dockerfile +16 -15
- data/spec/fixtures/database-dockerfile-rails +35 -0
- data/spec/fixtures/database-dockerfile-with-seed-hooks +34 -0
- data/spec/fixtures/hooks/hook1.rb +0 -0
- data/spec/fixtures/hooks/hook2.rb +0 -0
- data/spec/fixtures/mars-before-startup +4 -0
- data/spec/fixtures/mars-before-startup-rails +7 -0
- data/spec/fixtures/mars-before-startup-with-before-startup-hooks +7 -0
- data/spec/fixtures/mars-dockerfile +9 -14
- data/spec/fixtures/mars-dockerfile-rails +33 -0
- data/spec/fixtures/mars-dockerfile-with-after-checkout-hooks +30 -0
- data/spec/fixtures/mars-dockerfile-with-before-startup-hooks +29 -0
- data/spec/fixtures/mars-startup +3 -0
- data/spec/fixtures/mars-startup-rails +3 -0
- data/spec/fixtures/multi-project-web-dockerfile +0 -10
- data/spec/fixtures/web-dockerfile +0 -6
- data/spec/plugins/rails_spec.rb +198 -0
- data/spec/runner/build_images_spec.rb +181 -15
- data/spec/runner/checkout_spec.rb +2 -2
- data/spec/support/test_project.rb +16 -8
- metadata +62 -30
- data/lib/ruby_yacht/images/app/checkout.rb +0 -7
- data/lib/ruby_yacht/images/app-dependencies/install_gems.rb +0 -12
- data/lib/ruby_yacht/images/database/load_seeds.rb +0 -42
- data/lib/ruby_yacht/images/database/setup.rb +0 -19
- data/lib/ruby_yacht/images/database/setup_database.sql.erb +0 -12
- data/spec/fixtures/app-dependencies-dockerfile +0 -25
data/spec/dsl/project_spec.rb
CHANGED
@@ -4,19 +4,24 @@ describe RubyYacht::Project do
|
|
4
4
|
describe "dsl" do
|
5
5
|
let(:project) { RubyYacht::Project::DSL.new(:test_project).run(@builder).create_object }
|
6
6
|
|
7
|
+
before do
|
8
|
+
RubyYacht.configuration.clear
|
9
|
+
RubyYacht.configure do
|
10
|
+
app_type(:generic) { baseline_image 'ubuntu' }
|
11
|
+
end
|
12
|
+
end
|
13
|
+
|
7
14
|
it "can create a project with all the fields" do
|
8
15
|
@builder = Proc.new do
|
9
16
|
system_prefix :a
|
10
17
|
domain "a.test.com"
|
11
|
-
secret_key_base "a"
|
12
18
|
repository "github.com"
|
13
|
-
rails_environment "production"
|
14
19
|
|
15
|
-
app
|
20
|
+
app :app1, :generic do
|
16
21
|
repository_name 'brownleej/test1'
|
17
22
|
end
|
18
23
|
|
19
|
-
app
|
24
|
+
app :app2, :generic do
|
20
25
|
repository_name 'brownleej/test2'
|
21
26
|
end
|
22
27
|
|
@@ -35,9 +40,7 @@ describe RubyYacht::Project do
|
|
35
40
|
expect(project.name).to eq :test_project
|
36
41
|
expect(project.system_prefix).to eq :a
|
37
42
|
expect(project.domain).to eq "a.test.com"
|
38
|
-
expect(project.secret_key_base).to eq "a"
|
39
43
|
expect(project.repository).to eq "github.com"
|
40
|
-
expect(project.rails_environment).to eq "production"
|
41
44
|
|
42
45
|
expect(project.apps.map(&:name)).to eq [:app1, :app2]
|
43
46
|
expect(project.database.name).to eq 'project1'
|
@@ -47,14 +50,13 @@ describe RubyYacht::Project do
|
|
47
50
|
it "requires the system prefix" do
|
48
51
|
@builder = Proc.new do
|
49
52
|
domain "a.test.com"
|
50
|
-
secret_key_base "a"
|
51
53
|
repository "github.com"
|
52
54
|
|
53
|
-
app
|
55
|
+
app :app1, :generic do
|
54
56
|
repository_name 'brownleej/test1'
|
55
57
|
end
|
56
58
|
|
57
|
-
app
|
59
|
+
app :app2, :generic do
|
58
60
|
repository_name 'brownleej/test2'
|
59
61
|
end
|
60
62
|
|
@@ -76,14 +78,13 @@ describe RubyYacht::Project do
|
|
76
78
|
it "requires the domain" do
|
77
79
|
@builder = Proc.new do
|
78
80
|
system_prefix :a
|
79
|
-
secret_key_base "a"
|
80
81
|
repository "github.com"
|
81
82
|
|
82
|
-
app
|
83
|
+
app :app1, :generic do
|
83
84
|
repository_name 'brownleej/test1'
|
84
85
|
end
|
85
86
|
|
86
|
-
app
|
87
|
+
app :app2, :generic do
|
87
88
|
repository_name 'brownleej/test2'
|
88
89
|
end
|
89
90
|
|
@@ -102,46 +103,16 @@ describe RubyYacht::Project do
|
|
102
103
|
expect { project }.to raise_exception "Missing required attribute domain for RubyYacht::Project::DSL"
|
103
104
|
end
|
104
105
|
|
105
|
-
it "requires the secret_key_base" do
|
106
|
-
@builder = Proc.new do
|
107
|
-
system_prefix :a
|
108
|
-
domain "a.test.com"
|
109
|
-
repository "github.com"
|
110
|
-
|
111
|
-
app(:app1) do
|
112
|
-
repository_name 'brownleej/test1'
|
113
|
-
end
|
114
|
-
|
115
|
-
app(:app2) do
|
116
|
-
repository_name 'brownleej/test2'
|
117
|
-
end
|
118
|
-
|
119
|
-
database do
|
120
|
-
host "localhost"
|
121
|
-
name "project1"
|
122
|
-
username "test"
|
123
|
-
password "test"
|
124
|
-
end
|
125
|
-
|
126
|
-
dns_server do
|
127
|
-
server '8.10.1.1'
|
128
|
-
end
|
129
|
-
end
|
130
|
-
|
131
|
-
expect { project }.to raise_exception "Missing required attribute secret_key_base for RubyYacht::Project::DSL"
|
132
|
-
end
|
133
|
-
|
134
106
|
it "requires the repository" do
|
135
107
|
@builder = Proc.new do
|
136
108
|
system_prefix :a
|
137
109
|
domain "a.test.com"
|
138
|
-
secret_key_base "a"
|
139
110
|
|
140
|
-
app
|
111
|
+
app :app1, :generic do
|
141
112
|
repository_name 'brownleej/test1'
|
142
113
|
end
|
143
114
|
|
144
|
-
app
|
115
|
+
app :app2, :generic do
|
145
116
|
repository_name 'brownleej/test2'
|
146
117
|
end
|
147
118
|
|
@@ -159,43 +130,12 @@ describe RubyYacht::Project do
|
|
159
130
|
|
160
131
|
expect { project }.to raise_exception "Missing required attribute repository for RubyYacht::Project::DSL"
|
161
132
|
end
|
162
|
-
it "defaults the rails_environment to development" do
|
163
|
-
@builder = Proc.new do
|
164
|
-
system_prefix :a
|
165
|
-
domain "a.test.com"
|
166
|
-
secret_key_base "a"
|
167
|
-
repository "github.com"
|
168
|
-
|
169
|
-
app(:app1) do
|
170
|
-
repository_name 'brownleej/test1'
|
171
|
-
end
|
172
|
-
|
173
|
-
app(:app2) do
|
174
|
-
repository_name 'brownleej/test2'
|
175
|
-
end
|
176
|
-
|
177
|
-
database do
|
178
|
-
host "localhost"
|
179
|
-
name "project1"
|
180
|
-
username "test"
|
181
|
-
password "test"
|
182
|
-
end
|
183
|
-
|
184
|
-
dns_server do
|
185
|
-
server '8.10.1.1'
|
186
|
-
end
|
187
|
-
end
|
188
|
-
|
189
|
-
expect(project.rails_environment).to eq 'development'
|
190
|
-
end
|
191
133
|
|
192
134
|
it "does not require any apps" do
|
193
135
|
@builder = Proc.new do
|
194
136
|
system_prefix :a
|
195
137
|
domain "a.test.com"
|
196
|
-
secret_key_base "a"
|
197
138
|
repository "github.com"
|
198
|
-
rails_environment "production"
|
199
139
|
|
200
140
|
database do
|
201
141
|
host "localhost"
|
@@ -216,15 +156,13 @@ describe RubyYacht::Project do
|
|
216
156
|
@builder = Proc.new do
|
217
157
|
system_prefix :a
|
218
158
|
domain "a.test.com"
|
219
|
-
secret_key_base "a"
|
220
159
|
repository "github.com"
|
221
|
-
rails_environment "production"
|
222
160
|
|
223
|
-
app
|
161
|
+
app :app1, :generic do
|
224
162
|
repository_name 'brownleej/test1'
|
225
163
|
end
|
226
164
|
|
227
|
-
app
|
165
|
+
app :app2, :generic do
|
228
166
|
repository_name 'brownleej/test2'
|
229
167
|
end
|
230
168
|
|
@@ -240,15 +178,13 @@ describe RubyYacht::Project do
|
|
240
178
|
@builder = Proc.new do
|
241
179
|
system_prefix :a
|
242
180
|
domain "a.test.com"
|
243
|
-
secret_key_base "a"
|
244
181
|
repository "github.com"
|
245
|
-
rails_environment "production"
|
246
182
|
|
247
|
-
app
|
183
|
+
app :app1, :generic do
|
248
184
|
repository_name 'brownleej/test1'
|
249
185
|
end
|
250
186
|
|
251
|
-
app
|
187
|
+
app :app2, :generic do
|
252
188
|
repository_name 'brownleej/test2'
|
253
189
|
end
|
254
190
|
|
@@ -0,0 +1,21 @@
|
|
1
|
+
# This Dockerfile creates an image for installing all of the dependencies
|
2
|
+
# for all of the apps.
|
3
|
+
#
|
4
|
+
# This is a slow process, so this should be kept as simple as possible so that
|
5
|
+
# it can remain unchanged.
|
6
|
+
|
7
|
+
FROM ubuntu
|
8
|
+
|
9
|
+
RUN mkdir -p /root/.ssh
|
10
|
+
COPY id_rsa /root/.ssh
|
11
|
+
RUN ssh-keyscan github.com >> /root/.ssh/known_hosts
|
12
|
+
|
13
|
+
RUN mkdir -p /var/docker/
|
14
|
+
|
15
|
+
RUN git clone git@github.com:brownleej/mars /var/code/mars
|
16
|
+
WORKDIR /var/code/mars
|
17
|
+
|
18
|
+
WORKDIR /
|
19
|
+
|
20
|
+
RUN apt-get update && apt-get upgrade -y
|
21
|
+
RUN apt-get install -y mysql-client
|
@@ -0,0 +1,28 @@
|
|
1
|
+
# This Dockerfile creates an image for installing all of the dependencies
|
2
|
+
# for all of the apps.
|
3
|
+
#
|
4
|
+
# This is a slow process, so this should be kept as simple as possible so that
|
5
|
+
# it can remain unchanged.
|
6
|
+
|
7
|
+
FROM ubuntu
|
8
|
+
|
9
|
+
RUN mkdir -p /root/.ssh
|
10
|
+
COPY id_rsa /root/.ssh
|
11
|
+
RUN ssh-keyscan github.com >> /root/.ssh/known_hosts
|
12
|
+
|
13
|
+
RUN mkdir -p /var/docker/
|
14
|
+
|
15
|
+
COPY hook2.rb /var/docker/hook2.rb
|
16
|
+
|
17
|
+
RUN chmod u+x /var/docker/*
|
18
|
+
|
19
|
+
RUN git clone git@github.com:brownleej/mars /var/code/mars
|
20
|
+
WORKDIR /var/code/mars
|
21
|
+
RUN /var/docker/hook2.rb
|
22
|
+
|
23
|
+
RUN rm /var/docker/*
|
24
|
+
|
25
|
+
WORKDIR /
|
26
|
+
|
27
|
+
RUN apt-get update && apt-get upgrade -y
|
28
|
+
RUN apt-get install -y mysql-client
|
@@ -0,0 +1,32 @@
|
|
1
|
+
# This Dockerfile creates an image for installing all of the dependencies
|
2
|
+
# for all of the apps.
|
3
|
+
#
|
4
|
+
# This is a slow process, so this should be kept as simple as possible so that
|
5
|
+
# it can remain unchanged.
|
6
|
+
|
7
|
+
FROM ruby:2.3
|
8
|
+
|
9
|
+
RUN mkdir -p /root/.ssh
|
10
|
+
COPY id_rsa /root/.ssh
|
11
|
+
RUN ssh-keyscan github.com >> /root/.ssh/known_hosts
|
12
|
+
|
13
|
+
RUN mkdir -p /var/docker/
|
14
|
+
|
15
|
+
COPY install_gems.rb /var/docker/install_gems.rb
|
16
|
+
|
17
|
+
RUN chmod u+x /var/docker/*
|
18
|
+
|
19
|
+
RUN git clone git@github.com:brownleej/mars /var/code/mars
|
20
|
+
WORKDIR /var/code/mars
|
21
|
+
RUN /var/docker/install_gems.rb
|
22
|
+
|
23
|
+
RUN git clone git@github.com:brownleej/saturn /var/code/saturn
|
24
|
+
WORKDIR /var/code/saturn
|
25
|
+
RUN /var/docker/install_gems.rb
|
26
|
+
|
27
|
+
RUN rm /var/docker/*
|
28
|
+
|
29
|
+
WORKDIR /
|
30
|
+
|
31
|
+
RUN apt-get update && apt-get upgrade -y
|
32
|
+
RUN apt-get install -y mysql-client
|
@@ -1,31 +1,32 @@
|
|
1
|
-
FROM apollo-app-dependencies
|
2
|
-
|
3
|
-
|
1
|
+
FROM apollo-debian-app-dependencies
|
4
2
|
|
5
3
|
ENV DEBIAN_FRONTEND noninteractive
|
6
4
|
RUN apt-get install -y mysql-server
|
7
5
|
|
8
|
-
|
9
|
-
|
10
|
-
|
6
|
+
ENV DATABASE_USERNAME apollo
|
7
|
+
ENV DATABASE_PASSWORD test
|
8
|
+
ENV DATABASE_NAME apollo
|
11
9
|
|
12
|
-
|
10
|
+
COPY setup.bash /var/docker/setup.bash
|
11
|
+
COPY checkout.bash /var/docker/checkout.bash
|
13
12
|
|
13
|
+
RUN chmod u+x /var/docker/*
|
14
14
|
|
15
|
+
RUN /var/docker/setup.bash apollo apollo test
|
15
16
|
|
16
|
-
|
17
|
-
|
18
|
-
RUN ruby /var/docker/load_seeds.rb mars apollo_development apollo test false
|
19
|
-
|
17
|
+
RUN /var/docker/checkout.bash github.com mars brownleej/mars
|
18
|
+
WORKDIR /var/code/mars
|
20
19
|
|
21
|
-
|
22
|
-
|
23
|
-
RUN ruby /var/docker/load_seeds.rb saturn apollo_development apollo test true
|
24
|
-
|
20
|
+
RUN /var/docker/checkout.bash github.com saturn brownleej/saturn
|
21
|
+
WORKDIR /var/code/saturn
|
25
22
|
|
26
23
|
RUN rm -r /var/docker
|
27
24
|
RUN rm -r /var/code
|
28
25
|
|
26
|
+
ENV DATABASE_USERNAME ''
|
27
|
+
ENV DATABASE_PASSWORD ''
|
28
|
+
ENV DATABASE_NAME ''
|
29
|
+
|
29
30
|
EXPOSE 3306
|
30
31
|
|
31
32
|
CMD mysqld_safe --bind-address=0.0.0.0
|
@@ -0,0 +1,35 @@
|
|
1
|
+
FROM apollo-rails-app-dependencies
|
2
|
+
|
3
|
+
ENV DEBIAN_FRONTEND noninteractive
|
4
|
+
RUN apt-get install -y mysql-server
|
5
|
+
|
6
|
+
ENV DATABASE_USERNAME apollo
|
7
|
+
ENV DATABASE_PASSWORD test
|
8
|
+
ENV DATABASE_NAME apollo
|
9
|
+
|
10
|
+
COPY setup.bash /var/docker/setup.bash
|
11
|
+
COPY checkout.bash /var/docker/checkout.bash
|
12
|
+
COPY load_seeds.rb /var/docker/load_seeds.rb
|
13
|
+
|
14
|
+
RUN chmod u+x /var/docker/*
|
15
|
+
|
16
|
+
RUN /var/docker/setup.bash apollo apollo test
|
17
|
+
|
18
|
+
RUN /var/docker/checkout.bash github.com mars brownleej/mars
|
19
|
+
WORKDIR /var/code/mars
|
20
|
+
RUN /var/docker/load_seeds.rb
|
21
|
+
|
22
|
+
RUN /var/docker/checkout.bash github.com saturn brownleej/saturn
|
23
|
+
WORKDIR /var/code/saturn
|
24
|
+
RUN /var/docker/load_seeds.rb
|
25
|
+
|
26
|
+
RUN rm -r /var/docker
|
27
|
+
RUN rm -r /var/code
|
28
|
+
|
29
|
+
ENV DATABASE_USERNAME ''
|
30
|
+
ENV DATABASE_PASSWORD ''
|
31
|
+
ENV DATABASE_NAME ''
|
32
|
+
|
33
|
+
EXPOSE 3306
|
34
|
+
|
35
|
+
CMD mysqld_safe --bind-address=0.0.0.0
|
@@ -0,0 +1,34 @@
|
|
1
|
+
FROM apollo-debian-app-dependencies
|
2
|
+
|
3
|
+
ENV DEBIAN_FRONTEND noninteractive
|
4
|
+
RUN apt-get install -y mysql-server
|
5
|
+
|
6
|
+
ENV DATABASE_USERNAME apollo
|
7
|
+
ENV DATABASE_PASSWORD test
|
8
|
+
ENV DATABASE_NAME apollo
|
9
|
+
|
10
|
+
COPY setup.bash /var/docker/setup.bash
|
11
|
+
COPY checkout.bash /var/docker/checkout.bash
|
12
|
+
COPY hook1.rb /var/docker/hook1.rb
|
13
|
+
|
14
|
+
RUN chmod u+x /var/docker/*
|
15
|
+
|
16
|
+
RUN /var/docker/setup.bash apollo apollo test
|
17
|
+
|
18
|
+
RUN /var/docker/checkout.bash github.com mars brownleej/mars
|
19
|
+
WORKDIR /var/code/mars
|
20
|
+
RUN /var/docker/hook1.rb
|
21
|
+
|
22
|
+
RUN /var/docker/checkout.bash github.com saturn brownleej/saturn
|
23
|
+
WORKDIR /var/code/saturn
|
24
|
+
|
25
|
+
RUN rm -r /var/docker
|
26
|
+
RUN rm -r /var/code
|
27
|
+
|
28
|
+
ENV DATABASE_USERNAME ''
|
29
|
+
ENV DATABASE_PASSWORD ''
|
30
|
+
ENV DATABASE_NAME ''
|
31
|
+
|
32
|
+
EXPOSE 3306
|
33
|
+
|
34
|
+
CMD mysqld_safe --bind-address=0.0.0.0
|
File without changes
|
File without changes
|
@@ -1,32 +1,27 @@
|
|
1
|
-
FROM apollo-app-dependencies
|
1
|
+
FROM apollo-generic-app-dependencies
|
2
2
|
|
3
3
|
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
|
8
|
-
ENV RAILS_PORT 8080
|
7
|
+
ENV APP_PORT 8080
|
9
8
|
ENV REPOSITORY_HOST github.com
|
10
|
-
ENV SECRET_KEY_BASE abc
|
11
9
|
ENV SYSTEM_PREFIX apollo
|
12
10
|
|
13
11
|
RUN rm -r /var/code
|
14
12
|
RUN mkdir -p /var/code
|
15
13
|
|
16
|
-
COPY startup.rb /var/docker/startup.rb
|
17
|
-
COPY checkout.rb /var/docker/checkout.rb
|
18
|
-
COPY update_database_config.rb /var/docker/update_database_config.rb
|
19
|
-
|
20
|
-
RUN chmod u+x /var/docker/*.rb
|
21
|
-
|
22
14
|
ENV REPOSITORY_NAME brownleej/mars
|
15
|
+
COPY checkout.bash /var/docker/checkout.bash
|
16
|
+
RUN bash /var/docker/checkout.bash
|
23
17
|
|
24
|
-
|
18
|
+
COPY before_startup.bash /var/docker/before_startup.bash
|
19
|
+
COPY startup.bash /var/docker/startup.bash
|
25
20
|
|
26
|
-
|
21
|
+
RUN chmod u+x /var/docker/*
|
27
22
|
|
28
|
-
|
23
|
+
WORKDIR /var/code
|
29
24
|
|
30
25
|
EXPOSE 8080
|
31
26
|
|
32
|
-
CMD /var/docker/startup.
|
27
|
+
CMD /var/docker/startup.bash
|
@@ -0,0 +1,33 @@
|
|
1
|
+
FROM apollo-rails-app-dependencies
|
2
|
+
|
3
|
+
ENV DATABASE_HOST db.test.com
|
4
|
+
ENV DATABASE_NAME apollo
|
5
|
+
ENV DATABASE_PASSWORD test
|
6
|
+
ENV DATABASE_USERNAME apollo
|
7
|
+
ENV APP_PORT 8080
|
8
|
+
ENV REPOSITORY_HOST github.com
|
9
|
+
ENV SYSTEM_PREFIX apollo
|
10
|
+
ENV RAILS_ENV development
|
11
|
+
ENV SECRET_KEY_BASE abc
|
12
|
+
|
13
|
+
RUN rm -r /var/code
|
14
|
+
RUN mkdir -p /var/code
|
15
|
+
|
16
|
+
ENV REPOSITORY_NAME brownleej/mars
|
17
|
+
COPY checkout.bash /var/docker/checkout.bash
|
18
|
+
RUN bash /var/docker/checkout.bash
|
19
|
+
|
20
|
+
COPY before_startup.bash /var/docker/before_startup.bash
|
21
|
+
COPY startup.bash /var/docker/startup.bash
|
22
|
+
COPY update_rails_config.rb /var/docker/update_rails_config.rb
|
23
|
+
COPY prepare_rails_for_launch.rb /var/docker/prepare_rails_for_launch.rb
|
24
|
+
|
25
|
+
RUN chmod u+x /var/docker/*
|
26
|
+
|
27
|
+
WORKDIR /var/code
|
28
|
+
|
29
|
+
RUN bundle install && bundle clean --force
|
30
|
+
|
31
|
+
EXPOSE 8080
|
32
|
+
|
33
|
+
CMD /var/docker/startup.bash
|
@@ -0,0 +1,30 @@
|
|
1
|
+
FROM apollo-generic-app-dependencies
|
2
|
+
|
3
|
+
ENV DATABASE_HOST db.test.com
|
4
|
+
ENV DATABASE_NAME apollo
|
5
|
+
ENV DATABASE_PASSWORD test
|
6
|
+
ENV DATABASE_USERNAME apollo
|
7
|
+
ENV APP_PORT 8080
|
8
|
+
ENV REPOSITORY_HOST github.com
|
9
|
+
ENV SYSTEM_PREFIX apollo
|
10
|
+
|
11
|
+
RUN rm -r /var/code
|
12
|
+
RUN mkdir -p /var/code
|
13
|
+
|
14
|
+
ENV REPOSITORY_NAME brownleej/mars
|
15
|
+
COPY checkout.bash /var/docker/checkout.bash
|
16
|
+
RUN bash /var/docker/checkout.bash
|
17
|
+
|
18
|
+
COPY before_startup.bash /var/docker/before_startup.bash
|
19
|
+
COPY startup.bash /var/docker/startup.bash
|
20
|
+
COPY hook1.rb /var/docker/hook1.rb
|
21
|
+
|
22
|
+
RUN chmod u+x /var/docker/*
|
23
|
+
|
24
|
+
WORKDIR /var/code
|
25
|
+
|
26
|
+
RUN /var/docker/hook1.rb
|
27
|
+
|
28
|
+
EXPOSE 8080
|
29
|
+
|
30
|
+
CMD /var/docker/startup.bash
|
@@ -0,0 +1,29 @@
|
|
1
|
+
FROM apollo-generic-app-dependencies
|
2
|
+
|
3
|
+
ENV DATABASE_HOST db.test.com
|
4
|
+
ENV DATABASE_NAME apollo
|
5
|
+
ENV DATABASE_PASSWORD test
|
6
|
+
ENV DATABASE_USERNAME apollo
|
7
|
+
ENV APP_PORT 8080
|
8
|
+
ENV REPOSITORY_HOST github.com
|
9
|
+
ENV SYSTEM_PREFIX apollo
|
10
|
+
|
11
|
+
RUN rm -r /var/code
|
12
|
+
RUN mkdir -p /var/code
|
13
|
+
|
14
|
+
ENV REPOSITORY_NAME brownleej/mars
|
15
|
+
COPY checkout.bash /var/docker/checkout.bash
|
16
|
+
RUN bash /var/docker/checkout.bash
|
17
|
+
|
18
|
+
COPY before_startup.bash /var/docker/before_startup.bash
|
19
|
+
COPY startup.bash /var/docker/startup.bash
|
20
|
+
COPY hook1.rb /var/docker/hook1.rb
|
21
|
+
COPY hook2.rb /var/docker/hook2.rb
|
22
|
+
|
23
|
+
RUN chmod u+x /var/docker/*
|
24
|
+
|
25
|
+
WORKDIR /var/code
|
26
|
+
|
27
|
+
EXPOSE 8080
|
28
|
+
|
29
|
+
CMD /var/docker/startup.bash
|
@@ -12,23 +12,13 @@ COPY index.html.erb /var/docker/index.html.erb
|
|
12
12
|
COPY index_config.erb /var/docker/index_config.erb
|
13
13
|
COPY app_config.erb /var/docker/app_config.erb
|
14
14
|
|
15
|
-
|
16
|
-
|
17
15
|
RUN ruby /var/docker/add_project.rb apollo apollo.test.com mars,saturn
|
18
|
-
|
19
16
|
RUN ruby /var/docker/add_app.rb apollo apollo.test.com mars 8080
|
20
|
-
|
21
17
|
RUN ruby /var/docker/add_app.rb apollo apollo.test.com saturn 8080
|
22
|
-
|
23
18
|
|
24
|
-
|
25
19
|
RUN ruby /var/docker/add_project.rb jupiter jupiter.test.com venus,saturn
|
26
|
-
|
27
20
|
RUN ruby /var/docker/add_app.rb jupiter jupiter.test.com venus 8080
|
28
|
-
|
29
21
|
RUN ruby /var/docker/add_app.rb jupiter jupiter.test.com saturn 8080
|
30
|
-
|
31
|
-
|
32
22
|
|
33
23
|
RUN rm -r /var/docker
|
34
24
|
RUN apt-get remove -y ruby
|
@@ -12,15 +12,9 @@ COPY index.html.erb /var/docker/index.html.erb
|
|
12
12
|
COPY index_config.erb /var/docker/index_config.erb
|
13
13
|
COPY app_config.erb /var/docker/app_config.erb
|
14
14
|
|
15
|
-
|
16
|
-
|
17
15
|
RUN ruby /var/docker/add_project.rb apollo apollo.test.com mars,saturn
|
18
|
-
|
19
16
|
RUN ruby /var/docker/add_app.rb apollo apollo.test.com mars 8080
|
20
|
-
|
21
17
|
RUN ruby /var/docker/add_app.rb apollo apollo.test.com saturn 8080
|
22
|
-
|
23
|
-
|
24
18
|
|
25
19
|
RUN rm -r /var/docker
|
26
20
|
RUN apt-get remove -y ruby
|