ruby_yacht 0.1.1 → 0.2.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 +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
|