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.
- Software prerequisites
- Initial setup
- Services start/stop/restart
- Env details
- Documentation and free support
- 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
- 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
- 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
- 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
Code - Apache Software License v2.0
Documentation and Site - Creative Commons Attribution 4.0 International License