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