1
+ FROM node:10.17.0-stretch
2
+ RUN useradd -m -s /bin/bash appuser
3
+ RUN apt update
4
+ RUN apt install sudo
5
+ RUN sudo apt-get update; sudo apt-get install -y openjdk-8-jre openjdk-8-jre-headless openjdk-8-jdk openjdk-8-jdk-headless;
6
+ RUN curl --silent --show-error --location --fail --retry 3 --output /tmp/google-chrome-stable_current_amd64.deb https://dl.google.com/linux/direct/google-chrome-stable_current_amd64.deb \
7
+ && (sudo dpkg -i /tmp/google-chrome-stable_current_amd64.deb || sudo apt-get -fy install) \
8
+ && rm -rf /tmp/google-chrome-stable_current_amd64.deb \
9
+ && sudo sed -i 's|HERE/chrome"|HERE/chrome" --disable-setuid-sandbox --no-sandbox|g' \
10
+ "/opt/google/chrome/google-chrome" \
11
+ && google-chrome --version
12
+ RUN export CHROMEDRIVER_RELEASE=$(curl --location --fail --retry 3 http://chromedriver.storage.googleapis.com/LATEST_RELEASE) \
13
+ && curl --silent --show-error --location --fail --retry 3 --output /tmp/chromedriver_linux64.zip "http://chromedriver.storage.googleapis.com/$CHROMEDRIVER_RELEASE/chromedriver_linux64.zip" \
14
+ && cd /tmp \
15
+ && unzip chromedriver_linux64.zip \
16
+ && rm -rf chromedriver_linux64.zip \
17
+ && sudo mv chromedriver /usr/local/bin/chromedriver \
18
+ && sudo chmod +x /usr/local/bin/chromedriver \
19
+ && chromedriver --version
20
+ RUN sudo apt-get install -y libgconf-2-4
21
+ RUN sudo apt-get install -y xvfb
22
+ RUN sudo apt-get install -y jq
23
+ ENV DISPLAY :99
24
+ RUN printf '#!/bin/sh\n Xvfb :99 -screen 0 1280x1024x24 &\n exec "$@"\n ' > /tmp/entrypoint \
25
+ && chmod +x /tmp/entrypoint \
26
+ && sudo mv /tmp/entrypoint /docker-entrypoint.sh
27
+
28
+ COPY . /test-automation
29
+ WORKDIR /test-automation
30
+ RUN chown -R appuser:appuser /test-automation
31
+ USER appuser
32
+ RUN npm install
33
+ RUN ./node_modules/.bin/webdriver-manager update --versions.chrome=="$(google-chrome -version)"
34
+ ENTRYPOINT ["/docker-entrypoint.sh" ]
35
+ CMD ["/bin/sh" ]
0 commit comments