Dockerfile 1.64 KB
Newer Older
1
FROM ruby:2.4-stretch
2
LABEL maintainer "Grzegorz Bizon <grzegorz@gitlab.com>"
3
ENV DEBIAN_FRONTEND noninteractive
4

5 6 7 8 9 10
##
# Update APT sources and install some dependencies
#
RUN sed -i "s/httpredir.debian.org/ftp.us.debian.org/" /etc/apt/sources.list
RUN apt-get update && apt-get install -y wget git unzip xvfb

11 12 13 14 15 16 17
##
# Install Docker
#
RUN wget -q https://download.docker.com/linux/static/stable/x86_64/docker-17.09.0-ce.tgz && \
    tar -zxf docker-17.09.0-ce.tgz && mv docker/docker /usr/local/bin/docker && \
    rm docker-17.09.0-ce.tgz

18
##
19
# Install Google Chrome version with headless support
20
#
21 22
RUN curl -sS -L https://dl.google.com/linux/linux_signing_key.pub | apt-key add -
RUN echo "deb [arch=amd64] http://dl.google.com/linux/chrome/deb/ stable main" > /etc/apt/sources.list.d/google.list
23
RUN apt-get update -q && apt-get install -y google-chrome-stable && apt-get clean
24 25 26 27

##
# Install chromedriver to make it work with Selenium
#
28
RUN wget -q https://chromedriver.storage.googleapis.com/$(wget -q -O - https://chromedriver.storage.googleapis.com/LATEST_RELEASE)/chromedriver_linux64.zip
29 30
RUN unzip chromedriver_linux64.zip -d /usr/local/bin

31 32 33 34 35 36 37 38 39
##
# Install gcloud and kubectl CLI used in Auto DevOps test to create K8s
# clusters
#
RUN export CLOUD_SDK_REPO="cloud-sdk-$(lsb_release -c -s)" && \
    echo "deb http://packages.cloud.google.com/apt $CLOUD_SDK_REPO main" | tee -a /etc/apt/sources.list.d/google-cloud-sdk.list && \
    curl https://packages.cloud.google.com/apt/doc/apt-key.gpg | apt-key add - && \
    apt-get update -y && apt-get install google-cloud-sdk kubectl -y

40
WORKDIR /home/qa
41
COPY ./Gemfile* ./
42
RUN bundle install
43 44
COPY ./ ./

45
ENTRYPOINT ["bin/test"]