-
Notifications
You must be signed in to change notification settings - Fork 5
/
Dockerfile.ci
36 lines (31 loc) · 1.22 KB
/
Dockerfile.ci
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
# Dockerfile for use by the continuous integration server (ci), in order to
# build and test the application.
#
# This Dockerfile provides the appropriate environment for building and testing
# the application. It should _not_ be used for creating Docker images for use
# in production.
FROM ruby:2.7.6-slim
RUN apt-get update && \
apt-get install -y build-essential && \
apt-get install -y git && \
apt-get install -y curl && \
curl -sL https://deb.nodesource.com/setup_10.x | bash - && \
apt-get install -y nodejs && \
curl -sS https://dl.yarnpkg.com/debian/pubkey.gpg | apt-key add - && \
echo "deb https://dl.yarnpkg.com/debian/ stable main" | tee /etc/apt/sources.list.d/yarn.list && \
apt update && \
apt install -y yarn && \
apt-get install -y libpq-dev && \
apt-get install -y libsqlite3-dev && \
apt-get install -y wget && \
apt-get clean
# Copy in the Gemfile and Gemfile.lock, and install the gems
# This makes builds where the Gemfile/Gemfile.lock file hasn't
# changed faster by having the correct gems already downloaded
# and cached.
COPY Gemfile* /tmp/
# Run bundler to install the gems
WORKDIR /tmp
RUN gem install bundler:1.17.2
RUN bundle install --without production
WORKDIR /