Skip to content

Commit

Permalink
mvn-jgitflow:merging 'release/1.1.0-beta' into 'master'
Browse files Browse the repository at this point in the history
  • Loading branch information
labs-build committed Apr 11, 2017
2 parents bf98d64 + 235caea commit 729c79d
Show file tree
Hide file tree
Showing 360 changed files with 8,468 additions and 2,932 deletions.
10 changes: 8 additions & 2 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -2,11 +2,17 @@ target
**/integration-test/temp-db-sakuli
**/install/*.zip
**/_logs
/sahi*/
/*sahi*/
firefox
.idea
*.iml
*.log
*.sakuli-steps-cache
*.cache
sakuli_app
.DS_Store
cert_override.txt
cert8.db
key3.db
.gearman-cache
.sakuli-steps-cache
Dockerfile.local
8 changes: 4 additions & 4 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,9 +2,8 @@

|branch |build state|docs state| docker images state
|--------|-----------|-----------|-----------|
| `master` | [![Build Status](http://labs-build.consol.de/buildStatus/icon?job=Sakuli_perform_release)](http://labs-build.consol.de/view/Sakuli/job/Sakuli_perform_release/) | [![Documentation Status](https://readthedocs.org/projects/sakuli/badge/?version=stable)](http://sakuli.readthedocs.org/en/stable/) | `consol/sakuli-ubuntu-xfce`<br/> [![](https://images.microbadger.com/badges/version/consol/sakuli-ubuntu-xfce.svg)](https://hub.docker.com/r/consol/sakuli-ubuntu-xfce/) [![](https://images.microbadger.com/badges/image/consol/sakuli-ubuntu-xfce.svg)](http://microbadger.com/images/consol/sakuli-ubuntu-xfce) <br/> `consol/sakuli-centos-xfce`<br/> [![](https://images.microbadger.com/badges/version/consol/sakuli-centos-xfce.svg)](https://hub.docker.com/r/consol/sakuli-centos-xfce/) [![](https://images.microbadger.com/badges/image/consol/sakuli-centos-xfce.svg)](http://microbadger.com/images/consol/sakuli-centos-xfce) <br/> `consol/sakuli-ubuntu-xfce-java`<br/> [![](https://images.microbadger.com/badges/version/consol/sakuli-ubuntu-xfce-java.svg)](https://hub.docker.com/r/consol/sakuli-ubuntu-xfce-java/) [![](https://images.microbadger.com/badges/image/consol/sakuli-ubuntu-xfce-java.svg)](http://microbadger.com/images/consol/sakuli-ubuntu-xfce-java) <br/> `consol/sakuli-centos-xfce-java`<br/> [![](https://images.microbadger.com/badges/version/consol/sakuli-centos-xfce-java.svg)](https://hub.docker.com/r/consol/sakuli-centos-xfce-java/) [![](https://images.microbadger.com/badges/image/consol/sakuli-centos-xfce-java.svg)](http://microbadger.com/images/consol/sakuli-centos-xfce-java)|
| `dev` | [![Build Status](http://labs-build.consol.de/buildStatus/icon?job=Sakuli_CI)](http://labs-build.consol.de/view/Sakuli/job/Sakuli_CI/) | [![Documentation Status](https://readthedocs.org/projects/sakuli/badge/?version=dev)](http://sakuli.readthedocs.org/en/dev/) [![Documentation Status](https://readthedocs.org/projects/sakuli/badge/?version=latest)](http://sakuli.readthedocs.org/en/latest/) | `consol/sakuli-ubuntu-xfce:dev`<br/> [![](https://images.microbadger.com/badges/version/consol/sakuli-ubuntu-xfce:dev.svg)](https://hub.docker.com/r/consol/sakuli-ubuntu-xfce/) [![](https://images.microbadger.com/badges/image/consol/sakuli-ubuntu-xfce:dev.svg)](http://microbadger.com/images/consol/sakuli-ubuntu-xfce) <br/> `consol/sakuli-centos-xfce:dev`<br/> [![](https://images.microbadger.com/badges/version/consol/sakuli-centos-xfce:dev.svg)](https://hub.docker.com/r/consol/sakuli-centos-xfce/) [![](https://images.microbadger.com/badges/image/consol/sakuli-centos-xfce:dev.svg)](http://microbadger.com/images/consol/sakuli-centos-xfce) <br/>`consol/sakuli-ubuntu-xfce-java:dev`<br/> [![](https://images.microbadger.com/badges/version/consol/sakuli-ubuntu-xfce-java:dev.svg)](https://hub.docker.com/r/consol/sakuli-ubuntu-xfce-java/) [![](https://images.microbadger.com/badges/image/consol/sakuli-ubuntu-xfce-java:dev.svg)](http://microbadger.com/images/consol/sakuli-ubuntu-xfce-java) <br/> `consol/sakuli-centos-xfce-java:dev`<br/> [![](https://images.microbadger.com/badges/version/consol/sakuli-centos-xfce-java:dev.svg)](https://hub.docker.com/r/consol/sakuli-centos-xfce-java/) [![](https://images.microbadger.com/badges/image/consol/sakuli-centos-xfce-java:dev.svg)](http://microbadger.com/images/consol/sakuli-centos-xfce-java)|

| `master` | [![Build Status](http://labs-build.consol.de/buildStatus/icon?job=Sakuli_perform_release)](http://labs-build.consol.de/view/Sakuli/job/Sakuli_perform_release/) | [![Documentation Status](https://readthedocs.org/projects/sakuli/badge/?version=stable)](http://sakuli.readthedocs.io/en/stable/) | `consol/sakuli-ubuntu-xfce`<br/> [![](https://images.microbadger.com/badges/version/consol/sakuli-ubuntu-xfce.svg)](https://hub.docker.com/r/consol/sakuli-ubuntu-xfce/) [![](https://images.microbadger.com/badges/image/consol/sakuli-ubuntu-xfce.svg)](http://microbadger.com/images/consol/sakuli-ubuntu-xfce) <br/> `consol/sakuli-centos-xfce`<br/> [![](https://images.microbadger.com/badges/version/consol/sakuli-centos-xfce.svg)](https://hub.docker.com/r/consol/sakuli-centos-xfce/) [![](https://images.microbadger.com/badges/image/consol/sakuli-centos-xfce.svg)](http://microbadger.com/images/consol/sakuli-centos-xfce) <br/> `consol/sakuli-ubuntu-xfce-java`<br/> [![](https://images.microbadger.com/badges/version/consol/sakuli-ubuntu-xfce-java.svg)](https://hub.docker.com/r/consol/sakuli-ubuntu-xfce-java/) [![](https://images.microbadger.com/badges/image/consol/sakuli-ubuntu-xfce-java.svg)](http://microbadger.com/images/consol/sakuli-ubuntu-xfce-java) <br/> `consol/sakuli-centos-xfce-java`<br/> [![](https://images.microbadger.com/badges/version/consol/sakuli-centos-xfce-java.svg)](https://hub.docker.com/r/consol/sakuli-centos-xfce-java/) [![](https://images.microbadger.com/badges/image/consol/sakuli-centos-xfce-java.svg)](http://microbadger.com/images/consol/sakuli-centos-xfce-java)|
| `dev` | [![Build Status](http://labs-build.consol.de/buildStatus/icon?job=Sakuli_CI)](http://labs-build.consol.de/view/Sakuli/job/Sakuli_CI/) | [![Documentation Status](https://readthedocs.org/projects/sakuli/badge/?version=dev)](http://sakuli.readthedocs.io/en/dev/) [![Documentation Status](https://readthedocs.org/projects/sakuli/badge/?version=latest)](http://sakuli.readthedocs.io/en/latest/) | `consol/sakuli-ubuntu-xfce:dev`<br/> [![](https://images.microbadger.com/badges/version/consol/sakuli-ubuntu-xfce:dev.svg)](https://hub.docker.com/r/consol/sakuli-ubuntu-xfce/) [![](https://images.microbadger.com/badges/image/consol/sakuli-ubuntu-xfce:dev.svg)](http://microbadger.com/images/consol/sakuli-ubuntu-xfce) <br/> `consol/sakuli-centos-xfce:dev`<br/> [![](https://images.microbadger.com/badges/version/consol/sakuli-centos-xfce:dev.svg)](https://hub.docker.com/r/consol/sakuli-centos-xfce/) [![](https://images.microbadger.com/badges/image/consol/sakuli-centos-xfce:dev.svg)](http://microbadger.com/images/consol/sakuli-centos-xfce) <br/>`consol/sakuli-ubuntu-xfce-java:dev`<br/> [![](https://images.microbadger.com/badges/version/consol/sakuli-ubuntu-xfce-java:dev.svg)](https://hub.docker.com/r/consol/sakuli-ubuntu-xfce-java/) [![](https://images.microbadger.com/badges/image/consol/sakuli-ubuntu-xfce-java:dev.svg)](http://microbadger.com/images/consol/sakuli-ubuntu-xfce-java) <br/> `consol/sakuli-centos-xfce-java:dev`<br/> [![](https://images.microbadger.com/badges/version/consol/sakuli-centos-xfce-java:dev.svg)](https://hub.docker.com/r/consol/sakuli-centos-xfce-java/) [![](https://images.microbadger.com/badges/image/consol/sakuli-centos-xfce-java:dev.svg)](http://microbadger.com/images/consol/sakuli-centos-xfce-java)|
*An end-to-end testing tool for web sites and common UIs with full Nagios integration*

**-> [Download](http://labs.consol.de/sakuli/install/)**
Expand Down Expand Up @@ -33,7 +32,7 @@

**Sakuli simulates user actions** on graphical user interfaces (web, fat client, citrix, …), and provides the obtained information (runtime, result, screenshots) to third party (e.g. Nagios compatible monitoring) systems.

**Sakuli** depends on **Java** and should run on most OS; **Windows**, **Ubuntu Linux (14.04 LTS)** and **OpenSUSE 13.2** are currently proved.
**Sakuli** depends on **Java** and should run on most OS: **Windows**, **Linux** (Ubuntu and OpenSUSE 13.2), **MacOS** or as **Docker container**

The **Sakuli** project brings together two Open-Source end-to-end testing tools which perfectly fit together: **Sahi** ([http://www.sahi.co.in/]([http://www.sahi.co.in/)) for **web-based tests** (by injecting JavaScript code into the browser), as well as the screenshot-based testing tool **Sikuli** ([http://sikulix.com/](http://sikulix.com/)), which allows the execution of **keyboard and mouse actions** on screen areas that have been defined by previously recorded screenshots and are recognized using the OpenCV engine.

Expand Down Expand Up @@ -224,3 +223,4 @@ Very special thanks to all customers which always nourish this project with new

* LIDL Stiftung & Co. KG
* Deutsche Pfandbriefbank AG
* Siemens AG, Global Services Information Technology
42 changes: 38 additions & 4 deletions changelog.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,39 @@
## Change Log of Sakuli Releases

### Version 1.1.0-beta

* [OpenShift](docs/openshift.md) and enhanced [docker support](docs/docker-images.md) (#218):
* add different OpenShift templates under `docker/openshift`:
* Docker Image Build from sources
* Deployment Config for continuous test running
* Job Config for onetime execution
* POD run config for single execution only
* GitRepoVolumeSource example configuration for a ready to use git-based testsuites execution
* change startup to a non-root-user startup procedure
* add Sakuli Images based on IceWM UI
* add non-root java DSL based Docker images
* add correct JVM heap sizing on startup due to [Docker cgroups constraints](http://matthewkwilliams.com/index.php/2016/03/17/docker-cgroups-memory-constraints-and-java-cautionary-tale/1)
* move to startup scripts to a more generic path: `/dockerstartup`
* fix some Firefox startup issues
* Use OpenJDK for docker images
* [Kubernetes support](docs/kubernetes.md) with examples under `docker/kubernetes` (#239)
* skip vnc startup on docker containers on sakuli commands: `-help`, `-version`, `encrypt` (#198)
* first step to improve exception message output (#37)
* fix description of properties loading mechanism (#211)
* fix some problems of the Gearman caching (#225):
* add error handling for RuntimeExceptions to Gearman client
* print out Exception class if no message is provided
* add [support for checkMK](docs/forwarder-checkmk.md) monitoring system, based on twig template based file output (#176)
* Improved Sakuli event handler: hide screenshots after 30 days, delete after 60; adapted Thruk SSI (#236)
* fix wrong exit code of go-starter `sakuli -version`
* clean up ordering of gearman and icinga2 properties in `sakuli-default.properties` and documentation (#188)
* fix Sahi startup errors with retry mechanism (#219)
* merge pull request #220 from martku/patch-1
* change dependency `sakuli-go-wrapper` to fixed version
* smaller bugfixes and documentation update

- - -

### Version 1.0.2 (Bugfix + some small features)
* issue #210: upgrade Sahi to version `5.1` due to Sahi compatibility issue with Chrome 53+ - _click
* fix docker images
Expand Down Expand Up @@ -56,14 +90,14 @@
Options:
-loop <seconds> Loop this suite, wait n seconds between
executions, 0 means no loops (default: 0)
-javaHome <folder> Java bin dir (overrides PATH)
-javaHome <folder> Java bin dir (overwrites PATH)
-javaOption <java option> JVM option parameter, e.g. '-agentlib:...'
-preHook <programpath> A program which will be executed before a
suite run (can be added multiple times)
-postHook <programpath> A program which will be executed after a
suite run (can be added multiple times)
-D <JVM option> JVM option to set a property at runtime,
overrides file based properties
overwrites file based properties
-browser <browser> Browser for the test execution
(default: Firefox)
-interface <interface> Network interface card name, used by
Expand Down Expand Up @@ -140,7 +174,7 @@
* fix #142: remove some not valid windows escape chars like `'` or `"` to prevent a InvalidPathException in SakuliStarter arguments
* docker-containers.md: Added hint for boot2docker users.
* check_sakuli.php: fixed #132 (suite runtime)
* close #103: make docker-container able to override the running testsuite in `docker run` `CMD` arguments
* close #103: make docker-container able to overwrite the running testsuite in `docker run` `CMD` arguments
* make the `sakuli.sh` command line parameters usable in `docker run` `CMD` arguments, like for example `docker run consol/sakuli-centos-xfce '--run $SAKULI_TEST_SUITE --browser chrome'`
* Added documentation how to configure HTTPS in Sahi. #53
* Rename README.md to index.md in case of https://readthedocs.org/projects/sakuli/
Expand Down Expand Up @@ -297,7 +331,7 @@
* centralized the configuration of properties files:
* `_include/sakuli.properties` now contains all possible configuration options for Sakuli. These are the _default values_ for all tests
* `<test-suite>/testsuite.properties` contains the _test suite specific configuration options_. The only mandatory property here is the test suite identifier `testsuite.id`. All other properties are optional.
* Options set in `testsuite.properties` will override the default settings in `sakuli.properties`
* Options set in `testsuite.properties` will overwrite the default settings in `sakuli.properties`
* Proxy configuration options can now be set in `sakuli.properties` (defaults) or `testsuite.properties` (suite specific)
* Re-organized the folder structure of `sakuli-zipped-release-vX.X.X.zip` and source code directory.
* Extended logging with more configuration possibilities (SLF4J with underlying logback-Logging)
Expand Down
37 changes: 37 additions & 0 deletions docker/.build/trigger_dockerhub.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,37 @@
#!/usr/bin/env bash
set -e -o pipefail
echo "trigger dockerhub builds for Tag $GIT_TAG:"

URLS=(
"https://registry.hub.docker.com/u/consol/sakuli-ubuntu-xfce/trigger/76b9b474-97e7-472a-a807-fa1829ef4b93/"
"https://registry.hub.docker.com/u/consol/omd-labs-ubuntu-sakuli/trigger/6cdc0a55-5926-4fd7-81ce-d97e97aee63c/"
"https://registry.hub.docker.com/u/consol/sakuli-ubuntu-xfce-java/trigger/62342ff8-d1cb-4111-b298-e43ffdf3d4f7/"
"https://registry.hub.docker.com/u/consol/sakuli-ubuntu-icewm/trigger/453572ea-3272-46b6-a8fb-9ef95c4e655d/"
"https://registry.hub.docker.com/u/consol/sakuli-ubuntu-icewm-java/trigger/41998b27-c887-4500-b913-9ebf8f643ab7/"
"https://registry.hub.docker.com/u/consol/sakuli-centos-xfce/trigger/5174c3a9-dc8d-4180-b9d5-97e47c119799/"
"https://registry.hub.docker.com/u/consol/omd-labs-centos-sakuli/trigger/1541eb97-7147-4100-b9de-371f74f930cb/"
"https://registry.hub.docker.com/u/consol/sakuli-centos-xfce-java/trigger/f42ab405-b103-4544-9ed5-84d37dd3ef78/"
"https://registry.hub.docker.com/u/consol/sakuli-centos-icewm/trigger/8edc4936-c7d8-4618-9c55-b541ba457454/"
"https://registry.hub.docker.com/u/consol/sakuli-centos-icewm-java/trigger/b5793202-aa0b-47fa-956a-49704f7c6a1e/"
"https://registry.hub.docker.com/u/consol/omd-labs-debian-sakuli/trigger/f5484b4e-d50d-4c89-be91-edab54ff1446/"
)

### starting with `v`
if [[ ${GIT_TAG:0:1} == "v" ]] ; then
PAYLOAD='{"source_type": "Tag", "source_name": "'$GIT_TAG'"}'
elif [[ $GIT_TAG == "master" ]] ; then
PAYLOAD='{"docker_tag": "'latest'"}'
else
PAYLOAD='{"docker_tag": "'$GIT_TAG'"}'
fi

#Loop
for URL in "${URLS[@]}"
do
echo "URL: $URL"
echo "PAYLOAD: $PAYLOAD"
set -x
curl -H "Content-Type: application/json" --data "$PAYLOAD" -X POST "$URL"
set +x
echo " - done!"
done
70 changes: 70 additions & 0 deletions docker/Dockerfile.sakuli.centos.icewm
Original file line number Diff line number Diff line change
@@ -0,0 +1,70 @@
# This Dockerfile is used to build a sakuli image based on CentOS

FROM consol/centos-icewm-vnc:1.1.0

MAINTAINER Tobias Schneck "[email protected]"
ENV REFRESHED_AT 2017-04-11

LABEL io.k8s.description="Sakuli headless testing container with Xfce window manager, firefox and chromium" \
io.k8s.display-name="Sakuli testing container based on Centos and Xfce" \
io.openshift.expose-services="6901:http,5901:xvnc" \
io.openshift.tags="sakuli, centos, xfce" \
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/centos/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.1.0-beta
ENV SAKULI_ROOT $HOME/sakuli
ENV SAKULI_HOME $SAKULI_ROOT/sakuli-v$SAKULI_VERSION
# Testsuite folder default permissions after text execution
ENV SAKULI_UMASK 0000
# Define Sakuli default startup testsuite
ENV SAKULI_TEST_SUITE $SAKULI_ROOT/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 $HOME
# use headless user for startup
USER 1984

### 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-centos-xfce run /sakuli/example_test_suites/example_xfce
# - help:
# docker run consol/sakuli-centos-xfce -help
# - start a bash (or any other command):
# docker run -it consol/sakuli-centos-xfce bash
ENTRYPOINT ["/dockerstartup/startup.sh"]
Loading

0 comments on commit 729c79d

Please sign in to comment.