-
Notifications
You must be signed in to change notification settings - Fork 29
/
Dockerfile.sakuli.ubuntu.xfce
70 lines (60 loc) · 2.47 KB
/
Dockerfile.sakuli.ubuntu.xfce
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
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
# This Dockerfile is used to build a sakuli image based on Ubuntu
FROM consol/ubuntu-xfce-vnc:1.3.0
MAINTAINER Tobias Schneck "tobias.schneck@consol.de"
ENV REFRESHED_AT 2017-12-18
LABEL io.k8s.description="Sakuli headless testing container with Xfce window manager, firefox and chromium" \
io.k8s.display-name="Sakuli testing container based on Ubuntu and Xfce" \
io.openshift.expose-services="6901:http,5901:xvnc" \
io.openshift.tags="sakuli, ubuntu, xfce" \
io.openshift.non-scalable=true
### Environment config
ENV VNC_PORT=5901 \
NO_VNC_PORT=6901 \
VNC_COL_DEPTH=24 \
VNC_RESOLUTION=1280x1024 \
VNC_PW=sakuli
## Connection ports for controlling the UI:
# VNC port:5901
# noVNC webport, connect via http://IP:6901/vnc_auto.html?password=vncpassword
EXPOSE $VNC_PORT $NO_VNC_PORT
# use root user for installation
USER root
# $INST_SCRIPTS is already set in FROM image
ADD ./sakuli-client/src/common/install/ $INST_SCRIPTS/
ADD ./sakuli-client/src/ubuntu/install/ $INST_SCRIPTS/
RUN find $INST_SCRIPTS -name '*.sh' -exec chmod a+x {} +
### Install needed packages
RUN $INST_SCRIPTS/example_apps.sh
RUN $INST_SCRIPTS/screenshot_tool.sh
RUN $INST_SCRIPTS/native_screen_control_libs.sh
RUN $INST_SCRIPTS/java_jre.sh
RUN $INST_SCRIPTS/java_jce_test/jce_test.sh
### Install Sakuli
ARG SAKULI_VERSION=1.2.0-SNAPSHOT
# SAKULI_UMASK: Testsuite folder default permissions after text execution
# SAKULI_EXAMPLE_TEST_SUITE: Define the example which will be used as default test
# SAKULI_TEST_SUITE: Define Sakuli default startup testsuite
ENV SAKULI_ROOT=$HOME/sakuli \
SAKULI_HOME=$HOME/sakuli/sakuli-v$SAKULI_VERSION \
SAKULI_UMASK=0000 \
SAKULI_EXAMPLE_TEST_SUITE=example_xfce \
SAKULI_TEST_SUITE=$HOME/sakuli/test
WORKDIR $SAKULI_ROOT
# Install the $SAKULI_VERSION and create the example testsuite under $SAKULI_TEST_SUITE
RUN $INST_SCRIPTS/sakuli.sh
### configure startup
ADD ./sakuli-client/src/common/scripts $STARTUPDIR
RUN $INST_SCRIPTS/set_user_permission.sh $STARTUPDIR
# use headless user for startup
USER 1000
### Sakuli startup script
# no parameters:
# - run the suite defined by $SAKULI_TEST_SUITE, if set
# parameters:
# - run a Sakuli test suite like the example_xfce case via:
# docker run consol/sakuli-ubuntu-xfce run /sakuli/example_test_suites/example_xfce
# - help:
# docker run consol/sakuli-ubuntu-xfce -help
# - start a bash (or any other command):
# docker run -it consol/sakuli-ubuntu-xfce bash
ENTRYPOINT ["/dockerstartup/startup.sh"]