QPS Infrastructure

zafira pulls rabbitmq pulls jenkins-master pulls jenkins-slave pulls postgres pulls

QPS-Infra is a dockerized QA infrastructure solution for Test Automation. It is integrated by default with carina-core open source solution and uses jenkins as CI Tool.

  • QPS-Infra is built on top of popular docker solutions, it includes Postgres database, Zafira Reporting Tool, Jenkins Master/Slaves Nodes, Selenium Hub, SonarQube, Rabbitmq, etc.

  • All components are deployed under NGINX WebServer which can be configured in fully secured environment

  • QPS-Infra and its subcomponents all together can be used as effective Test Automation infrastructure for test automation development, execution, managing, etc.

Alt text

Contents

Software prerequisites

  • Docker requires to use user with uid=1000 and gid=1000 for simple volumes sharing etc. Note: to verify current user uid/gid execute
    ubuntu:~/tools/qps-infra$ id
    uid=1000(ubuntu) gid=1000(ubuntu) groups=1000(ubuntu),4(adm),20(dialout),24(cdrom),25(floppy),27(sudo),29(audio),30(dip),44(video),46(plugdev),102(netdev),999(docker
    
  • Install docker and docker-composer

Initial setup

  • Clone qps-infra. Optionally create your private repo for it to have easily migrated infrastructure
  • Goto qps-infra folder and launch setup.sh script providing your hostname or ip address as argument
git clone https://github.com/qaprosoft/qps-infra.git
cd qps-infra
./setup.sh myhost.domain.com
  • Optional: update default credentials if neccessary (strongly recommended for publicly available environments) Note: If you changed ZAFIRA_RABBITMQ_USER and ZAFIRA_RABBITMQ_PASS please update them in config/definitions.json as well
  • Optional: adjust docker-compose.yml file by removing unused services. By default it contains: nginx, postgres, zafira/zafira-ui, jenkins-master, jenkins-slave, selenium hub, sonarqube, rabbitmq, elasticsearch
  • Execute ./start.sh to start all containers
  • Open http://myhost.domain.com to get access to direct links to the sub-components: zafira, jenkins etc

Services start/stop/restart

  • Use ./stop.sh script to stop everything
  • Opional: it is recommended to remove old containers during restart
  • Use ./start.sh to start all containers
./stop.sh
docker-compose rm -g
./start.sh

Env details

  • After QPS-Infra startup the following components are available. Take a look at variables.env for default credentials:
  • Jenkins
  • Selenium Grid
  • Zafira Reporting Tool
  • SonarQube Note: admin/qaprosoft are hardcoded sonarqube credentials and they can be updated inside Sonar Adminisration panel

Documentation and free support

License

Code - Apache Software License v2.0

Documentation and Site - Creative Commons Attribution 4.0 International License