Skip to content

Commit 9949824

Browse files
committed
Merge pull request #514 from CodeNow/creating-files-for-source-dockerfiles
Creating individual files for each source dockerfile to make them easier to edit
2 parents d4aa63c + 050b321 commit 9949824

File tree

7 files changed

+121
-108
lines changed

7 files changed

+121
-108
lines changed

scripts/seed-version.js

Lines changed: 8 additions & 108 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,8 @@
1111
'use strict';
1212

1313
require('loadenv')();
14+
15+
var fs = require('fs');
1416
var Context = require('models/mongo/context');
1517
var ContextVersion = require('models/mongo/context-version');
1618
var InfraCodeVersion = require('models/mongo/infra-code-version');
@@ -248,127 +250,25 @@ function newCV (context, icv, cb) {
248250
var sources = [{
249251
name: 'NodeJs',
250252
isTemplate: true,
251-
body: '# Full list of versions available here: https://registry.hub.docker.com/_/node/tags/manage/\n' +
252-
'FROM node:<nodejs-version>\n' +
253-
'\n' +
254-
'# Open up ports on the server\n' +
255-
'EXPOSE <user-specified-ports>\n' +
256-
'\n' +
257-
'# Add repository files to server\n' +
258-
'ADD ./<repo-name> /<repo-name>\n' +
259-
'WORKDIR /<repo-name>\n' +
260-
'\n' +
261-
'# Install dependencies\n' +
262-
'RUN apt-get update \n' +
263-
'<add-dependencies>\n' +
264-
'\n' +
265-
'RUN npm install\n' +
266-
'\n' +
267-
'# Command to start the app\n' +
268-
'CMD <start-command>\n'
253+
body: fs.readFileSync(__dirname + '/sourceDockerFiles/nodejs').toString()
269254
}, {
270255
name: 'Rails',
271256
isTemplate: true,
272-
body: 'FROM ruby:<ruby-version>\n' +
273-
'# Open up ports on the server\n' +
274-
'EXPOSE <user-specified-ports>\n' +
275-
'\n' +
276-
'# Install Rails (and its dependencies)\n' +
277-
'RUN apt-get update && apt-get install -y nodejs --no-install-recommends && rm -rf /var/lib/apt/lists/*\n' +
278-
'\n' +
279-
'\n' +
280-
'# see http://guides.rubyonrails.org/command_line.html#rails-dbconsole\n' +
281-
'RUN apt-get update && apt-get install -y mysql-client postgresql-client sqlite3 --no-install-recommends && rm -rf /var/lib/apt/lists/*\n' +
282-
'\n' +
283-
'# Specify the version of Rails to install\n' +
284-
'ENV RAILS_VERSION <rails-version>\n' +
285-
'RUN gem install rails --version "$RAILS_VERSION"\n' +
286-
'\n' +
287-
'# Add repository files to server\n' +
288-
'ADD ./<repo-name> /<repo-name>\n' +
289-
'WORKDIR /<repo-name>\n' +
290-
'\n' +
291-
'# Install dependencies\n' +
292-
'RUN apt-get update \n' +
293-
'<add-dependencies>\n' +
294-
'\n' +
295-
'RUN bundle install\n' +
296-
'\n' +
297-
'# Setup and seed database\n' +
298-
'RUN rake db:create db:migrate\n' +
299-
'\n' +
300-
'# Command to start the app\n' +
301-
'CMD <start-command>\n'
257+
body: fs.readFileSync(__dirname + '/sourceDockerFiles/rails').toString()
302258
}, {
303259
name: 'Ruby',
304260
isTemplate: true,
305-
body: 'FROM ruby:<ruby-version>\n' +
306-
'# Open up ports on the server\n' +
307-
'EXPOSE <user-specified-ports>\n' +
308-
'\n' +
309-
'# Install Rails (and its dependencies)\n' +
310-
'RUN apt-get update && apt-get install -y nodejs --no-install-recommends && rm -rf /var/lib/apt/lists/*\n' +
311-
'\n' +
312-
'\n' +
313-
'# see http://guides.rubyonrails.org/command_line.html#rails-dbconsole\n' +
314-
'RUN apt-get update && apt-get install -y mysql-client postgresql-client sqlite3 --no-install-recommends && rm -rf /var/lib/apt/lists/*\n' +
315-
'\n' +
316-
'# Add repository files to server\n' +
317-
'ADD ./<repo-name> /<repo-name>\n' +
318-
'WORKDIR /<repo-name>\n' +
319-
'\n' +
320-
'# Install dependencies\n' +
321-
'RUN apt-get update \n' +
322-
'<add-dependencies>\n' +
323-
'\n' +
324-
'RUN bundle install\n' +
325-
'\n' +
326-
'# Command to start the app\n' +
327-
'CMD <start-command>\n'
261+
body: fs.readFileSync(__dirname + '/sourceDockerFiles/ruby').toString()
328262
}, {
329263
name: 'Python',
330264
isTemplate: true,
331-
body: 'FROM python:<python-version>\n' +
332-
'\n' +
333-
'# Open up ports on the server\n' +
334-
'EXPOSE <user-specified-ports>\n' +
335-
'\n' +
336-
'# Install environmental dependencies\n' +
337-
'RUN apt-get -y -q update && apt-get install -y -q libmysqlclient-dev postgresql-server-dev-9.1\n' +
338-
'\n' +
339-
'# Add the repository to the /home folder\n' +
340-
'ADD ./<repo-name> /home/\n' +
341-
'WORKDIR /home\n' +
342-
'\n' +
343-
'# Install dependencies\n' +
344-
'RUN pip install -r /home/requirements.txt\n' +
345-
'\n' +
346-
'RUN apt-get update \n' +
347-
'<add-dependencies>\n' +
348-
'\n' +
349-
'# Command to start the app\n' +
350-
'CMD <start-command>\n'
265+
body: fs.readFileSync(__dirname + '/sourceDockerFiles/python').toString()
351266
}, {
352267
name: 'PostgreSQL',
353-
body: '# Full list of versions available here: https://registry.hub.docker.com/_/postgres/tags/manage/\n'+
354-
'FROM postgres:9.4\n' +
355-
'\n' +
356-
'# Set recommended environment variables\n' +
357-
'ENV POSTGRES_USER postgres\n' +
358-
'ENV POSTGRES_PASSWORD postgres\n' +
359-
'\n' +
360-
'# Open port 5432 on the server\n' +
361-
'EXPOSE 5432\n'
268+
body: fs.readFileSync(__dirname + '/sourceDockerFiles/postgresSql').toString()
362269
}, {
363270
name: 'MySQL',
364-
body: 'FROM mysql:5.6\n' +
365-
'# Set required environment variables\n' +
366-
'ENV MYSQL_USER root\n' +
367-
'ENV MYSQL_PASSWORD root\n' +
368-
'ENV MYSQL_ROOT_PASSWORD root\n' +
369-
'ENV MYSQL_DATABASE app\n\n' +
370-
'# Open port 3306 on the server\n' +
371-
'EXPOSE 3306\n'
271+
body: fs.readFileSync(__dirname + '/sourceDockerFiles/mysql').toString()
372272
}, {
373273
name: 'MongoDB',
374274
body: '# Full list of versions available here: https://registry.hub.docker.com/_/mongo/tags/manage/\n'+

scripts/sourceDockerfiles/mysql

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
FROM mysql:5.6
2+
3+
# Set required environment variables
4+
ENV MYSQL_USER root
5+
ENV MYSQL_PASSWORD root
6+
ENV MYSQL_ROOT_PASSWORD root
7+
ENV MYSQL_DATABASE app
8+
9+
# Open port 3306 on the server
10+
EXPOSE 3306

scripts/sourceDockerfiles/nodejs

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
# Full list of versions available here: https://registry.hub.docker.com/_/node/tags/manage/\n' +
2+
FROM node:<nodejs-version>
3+
4+
# Open up ports on the server
5+
EXPOSE <user-specified-ports>
6+
7+
# Add repository files to serv
8+
ADD ./<repo-name> /<repo-name>
9+
WORKDIR /<repo-name>
10+
11+
# Install dependencies
12+
RUN apt-get update
13+
<add-dependencies>
14+
15+
RUN npm install
16+
17+
# Command to start the app
18+
CMD <start-command>
Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
# Full list of versions available here: https://registry.hub.docker.com/_/postgres/tags/manage/
2+
FROM postgres:9.4
3+
4+
# Set recommended environment variables
5+
ENV POSTGRES_USER postgres
6+
ENV POSTGRES_PASSWORD postgres
7+
8+
# Open port 5432 on the server
9+
EXPOSE 5432

scripts/sourceDockerfiles/python

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
FROM python:<python-version>
2+
3+
# Open up ports on the server
4+
EXPOSE <user-specified-ports>
5+
6+
# Install environmental dependencies
7+
RUN apt-get -y -q update && apt-get install -y -q libmysqlclient-dev postgresql-server-dev-9.1
8+
9+
# Add the repository to the /home folder
10+
ADD ./<repo-name> /home/
11+
WORKDIR /home
12+
13+
# Install dependencies
14+
RUN pip install -r /home/requirements.txt
15+
16+
RUN apt-get update
17+
<add-dependencies>
18+
19+
# Command to start the app
20+
CMD <start-command>

scripts/sourceDockerfiles/rails

Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
1+
FROM ruby:<ruby-version>
2+
# Open up ports on the server
3+
EXPOSE <user-specified-ports>
4+
5+
# Install Rails (and its dependencies)
6+
RUN apt-get update && apt-get install -y nodejs --no-install-recommends && rm -rf /var/lib/apt/lists/*
7+
8+
9+
# see http://guides.rubyonrails.org/command_line.html#rails-dbconsole
10+
RUN apt-get update && apt-get install -y mysql-client postgresql-client sqlite3 --no-install-recommends && rm -rf /var/lib/apt/lists/*
11+
12+
# Specify the version of Rails to install
13+
ENV RAILS_VERSION <rails-version>
14+
RUN gem install rails --version "$RAILS_VERSION"
15+
16+
# Add repository files to server
17+
ADD ./<repo-name> /<repo-name>
18+
WORKDIR /<repo-name>
19+
20+
# Install dependencies
21+
RUN apt-get update
22+
<add-dependencies>
23+
24+
RUN bundle install
25+
26+
# Setup and seed database
27+
RUN rake db:create db:migrate
28+
29+
# Command to start the app
30+
CMD <start-command>

scripts/sourceDockerfiles/ruby

Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
FROM ruby:<ruby-version>
2+
# Open up ports on the server
3+
EXPOSE <user-specified-ports>
4+
5+
# Install Rails (and its dependencies)
6+
RUN apt-get update && apt-get install -y nodejs --no-install-recommends && rm -rf /var/lib/apt/lists/*
7+
8+
9+
# see http://guides.rubyonrails.org/command_line.html#rails-dbconsole
10+
RUN apt-get update && apt-get install -y mysql-client postgresql-client sqlite3 --no-install-recommends && rm -rf /var/lib/apt/lists/*
11+
12+
# Add repository files to server
13+
ADD ./<repo-name> /<repo-name>
14+
WORKDIR /<repo-name>
15+
16+
# Install dependencies
17+
RUN apt-get update
18+
<add-dependencies>
19+
20+
RUN bundle install
21+
22+
# Setup and seed database
23+
RUN rake db:create db:migrate
24+
25+
# Command to start the app
26+
CMD <start-command>

0 commit comments

Comments
 (0)