# This Dockerfile is used to build a sakuli image based on Ubuntu FROM consol/ubuntu-icewm-vnc:1.1.0 MAINTAINER Tobias Schneck "tobias.schneck@consol.de" ENV REFRESHED_AT 2017-04-11 LABEL io.k8s.description="Sakuli headless testing container (maven java tests) with IceWM window manager, firefox and chromium" \ io.k8s.display-name="Sakuli testing container (maven java tests) based on Ubuntu and IceWM" \ io.openshift.expose-services="6901:http,5901:xvnc" \ io.openshift.tags="sakuli, ubuntu, icewm, java, maven" \ io.openshift.non-scalable=true ## Connection ports for controlling the UI: # VNC port:5901 # noVNC webport, connect via http://IP:6901/vnc_auto.html?password=vncpassword ENV VNC_PORT 5901 ENV NO_VNC_PORT 6901 EXPOSE $VNC_PORT $NO_VNC_PORT ### Environment config ENV VNC_COL_DEPTH 24 ENV VNC_RESOLUTION 1280x1024 ENV VNC_PW sakuli # 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_java/common/install/ $INST_SCRIPTS/ ADD ./sakuli-client/src/ubuntu/install/ $INST_SCRIPTS/ ADD ./sakuli-client/src_java/ubuntu/install/ $INST_SCRIPTS/ RUN find $INST_SCRIPTS -name '*.sh' -exec chmod a+x {} + ### Install needed packages RUN $INST_SCRIPTS/screenshot_tool.sh RUN $INST_SCRIPTS/native_screen_control_libs.sh RUN $INST_SCRIPTS/java_jre.sh RUN $INST_SCRIPTS/java_jdk.sh RUN $INST_SCRIPTS/java_jce_test/jce_test.sh ### Install Maven ARG MAVEN_VERSION=3.3.9 ENV MAVEN_HOME $HOME/apps/maven RUN $INST_SCRIPTS/maven.sh ### Install Sakuli ARG SAKULI_VERSION=1.1.0-beta # Testsuite folder default permissions after text execution ENV SAKULI_UMASK 0000 # Define Sakuli default startup testsuite ENV SAKULI_TEST_SUITE /opt/maven # WORKDIR $SAKULI_TEST_SUITE # Install the $SAKULI_VERSION and create the example testsuite under $SAKULI_TEST_SUITE RUN $INST_SCRIPTS/zip.sh RUN $INST_SCRIPTS/sakuli.sh ### configure startup ADD ./sakuli-client/src/common/scripts/ $STARTUPDIR ADD ./sakuli-client/src_java/common/scripts/ $STARTUPDIR RUN $INST_SCRIPTS/set_user_permission.sh $STARTUPDIR $HOME $SAKULI_TEST_SUITE # use headless user for startup USER 1984 ### Sakuli startup script # no parameters: # - run the suite defined by $SAKULI_TEST_SUITE via `mvn test` # if set parameters: # - run the suite via typical maven commands like `mvn install` # - start a bash (or any other command): # docker run -it consol/sakuli-ubuntu-xfce-java bash ENTRYPOINT ["/dockerstartup/startup.sh"]