Installation

Danger

SystemTestPortal is still under development and may include potential security issues. It should not be used for running open to the public.

Installation from Binaries

Warning

Due to a temporary outage of our CI pipeline the regular stable and nightly builds are outdated at the moment. In the meantime, please use our tuebix builds instead. The installation is the same as for our regular binary builds.

Our FTP server provides binaries for Windows and Linux.

  1. Stable binary releases can be found here
    Nightly unstable releases can be found here

    If you just want the latest version you can also go directly to:

    You can download the latest stable release here
    The Latest nightly unstable release can be found here

  2. Download the correct archive file

    • Stable releases: SystemTestPortal-<os>-<arch>_<version>.<zip|tar.gz> where <os> is your operating system (e.g. windows or linux) and <arch> is your architecture (If you don’t know your architecture you probably have amd64).
    • Experimental releases: SystemTestPortal-<os>-<arch>_<version>.<zip|tar.gz> where <os> is your operating system (e.g. windows or linux), <arch> is your architecture (If you don’t know your architecture you probably have amd64).
  3. Extract the downloaded archive file

  4. Run the stp(stp.exe on windows) executable in the extracted directory

Open a web browser and visit http://localhost:8080 to access the application.

Installation via Docker

The easiest way to get an STP up and running is by using our Docker Image.

We offer a docker image via [dockerhub](https://hub.docker.com/r/systemtestportal/systemtestportal/) or our [registry on gitlab](https://gitlab.com/stp-team/systemtestportal-webapp/container_registry)

You can simple pull the latest image using:

`bash docker pull systemtestportal/systemtestportal `

To pull a specific tag you can run for example:

`bash docker pull systemtestportal/systemtestportal:v1-4-0 `

Just run the following command to start the container:

`bash docker run -p 8080:8080 systemtestportal/systemtestportal:latest `

You can pull the most current image of our master branch from our [registry on gitlab](https://gitlab.com/stp-team/systemtestportal-webapp/container_registry)

`bash docker pull registry.gitlab.com/stp-team/systemtestportal-webapp/signed:master `

Installation using our Debian Update Site

Warning

Due to a temporary outage of our CI pipeline the regular stable and nightly builds are outdated at the moment. We will provide updated versions of our Debian packages shortly. In the meantime, please use our binary builds from the tuebix flavour (see above).

We also host an apt package repo containing packages of the current release and development builds. The package depends on systemd and will add a service definition that runs STP.

For your first installation you will need to configure the apt repository:

  1. To access the repository you need to tell apt about the key file. To download it from the command line, use

      wget http://www.systemtestportal.org/keys/st141539@stud.uni-stuttgart.de.key
    
    
    This will create a file `st141539@stud.uni-stuttgart.de.key` in your current directory.
    
  2. The following commands will require root access. To become root, login as root or run

sudo -s
  1. To tell apt about the key file use
apt-key add st141539@stud.uni-stuttgart.de.key
  1. Configure a new package source. Run one of the following commands:
  • for stable releases:

    echo deb ftp://ftp.informatik.uni-stuttgart.de/pub/se/systemtestportal/debian stable main > /etc/apt/sources.list.d/systemtestportal.list
    
  • for experimental releases:

    echo deb ftp://ftp.informatik.uni-stuttgart.de/pub/se/systemtestportal/debian experimental main > /etc/apt/sources.list.d/systemtestportal.list
    
  1. Logout of the root account. If you used sudo before, you can just run
exit

Now you are ready to install SystemTestPortal from the package site.

  1. The following commands will require root access. To become root, login as root or run
sudo -s
  1. Run
apt update
apt install systemtestportal


as root to read the new package lists and install the package.
  1. To enable the service so it is automatically run at startup, run
systemctl enable stp.service
  1. You will need to start the service to run for the first time
systemctl start stp.service
  1. Logout of the root account with exit
  2. Open a web browser and visit http://localhost:8080`(`http://localhost for versions < 0.7) to access the application.

Installation from Source

Error

Building from source is currently broken. Please use our binary builds from the tuebix flavour (see above)

You can install the current development version from source. To do so, you will need a working Go installation with a configured GOPATH (At least Golang 1.8). You will additionally need to have the GNU Compiler Collection (gcc) installed to build with sqlite support. Windows users can get gcc from http://tdm-gcc.tdragon.net/

  1. Run

    go get gitlab.com/stp-team/systemtestportal-webapp/cmd/stp
    

    to download and install STP with sqlite support. To use volatile data storage (recommended for arm support), instead run

    go get -tags 'ram' gitlab.com/stp-team/systemtestportal-webapp/cmd/stp
    

    Skip steps 4 and 5 if you installed the volatile ‘ram’ version.

  2. The installed package can be found under $GOPATH/bin/stp

  3. Optionally, you can move the asset directories, migrations, templates, static and data to another directory

  4. If you didn’t install the optional ‘ram’ version, no default user will be created on startup. To create this default user, run

    go install gitlab.com/stp-team/systemtestportal-webapp/cmd/stp-create-default-user
    stp-create-default-user
    

    after you have installed STP.

  5. If you didn’t install the optional ‘ram’ version, no default project will be created on startup. To create a default project, run

    go install 'sqlite' gitlab.com/stp-team/systemtestportal-webapp/cmd/stp-create-example-project
    stp-create-example-project
    
  6. Run stp

    stp
    

    to start up the server. If you moved the asset directories elsewhere, use the –basepath argument:

    stp --basepath=/directory/where/you/put/the/assets
    
  7. Open a web browser and visit http://localhost:8080 to access the application.

  8. The default user’s login info is:

    • Username: default
    • Password: default

Hosting

Attention

When you host STP in combination with a reverse proxy, please be aware of this known issue regarding the HTTP Header Size: Currently the testsequence execution and other actions cause STP to transmit unusually large HTTP Headers. Depending on your reverse proxy configuration this might cause the user to experience a 502 Bad Gateway. As a temporary solution we recommend increasing the buffer size in your reverse proxy. The following configuration for nginx in the nginx.conf was tested:

http {
  proxy_buffer_size   128k;
  proxy_buffers   4 256k;
  proxy_busy_buffers_size   256k;
}

This is a known issue and will be fixed as soon as possible.