Skip to content

iljapavlovs/qps-infra

 
 

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 a 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 a fully secured environment

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

Alt text

Contents

Software prerequisites

  • Docker requires a user with uid=1000 and gid=1000 for simple volumes sharing, etc. Note: to verify the current user uid/gid, execute
    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 (Ubuntu 16.04, Ubuntu 18.04, MacOS) and docker-composer

Initial setup

  • Clone qps-infra. You can also create your private repo to migrate the infrastructure easily
  • Go to the qps-infra folder and launch the setup.sh script providing your hostname or ip address as an 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 RABBITMQ_USER and RABBITMQ_PASS, please, update them in config/definitions.json and config/logstash.conf files 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 access 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 the 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 the Sonar Adminisration panel

Documentation and free support

License

Code - Apache Software License v2.0

Documentation and Site - Creative Commons Attribution 4.0 International License

About

1-click solution for QA automation infrastructure. (Mobile Infrastrucure)

Topics

Resources

Stars

Watchers

Forks

Packages

 
 
 

Contributors

Languages

  • TSQL 94.6%
  • CSS 2.4%
  • PLpgSQL 1.9%
  • Other 1.1%