A widely used software is Jenkis which allows you to streamline time-consuming tasks such as compiling a project and running your automated tests. With a seamlessly configured seamless integration server, these tasks are performed with every change in the code repository, and in case of compilation errors or automated test failures, all developers are alerted quickly. That way, if the integration server does not point to problems in the project, the team has the assurance that the code changes are in accordance with the test battery. It's also a step in the direction of continuous deployment.
Many people who adhere to Open Source , as it is supported and provided by the community directly. Integrates with Git, SVN, CVS, and builds with Maven, Ant, Gradle, etc. It runs on a Servlet Container, which makes it easy in case you already have an application server running on a test server, for example. But if you do not have it, that's fine: it has an "executable" version, which is not standalone, but does the self-deploy service itself for you. Configuring the version control repository for your project is done: just run the builds through the dashboard, which gives you the brief build information and console access. Run unit tests as in your case JUnit , including built-in Selenium and other acceptance testing tools. Did you make a mistake? Sends e-mail and even SMS.