Apache Maven is an open source build automation tool.
N/A
Travis CI
Score 7.3 out of 10
N/A
Travis CI is an open source continuous integration platform, that enables users to run and test simultaneously on different environments, and automatically catch code failures and bugs.
Building and automating packaging of software can be a challenging task. As the complexity of the project grows so do the dependencies on third-party artifacts. Using Maven we can define and manage the project structure centrally and it helps improve overall build times.
TravisCI is suited for workflows involving typical software development but unfortunately I think the software needs more improvement to be up to date with current development systems and TravisCI hasn't been improving much in that space in terms of integrations.
It's simple and easy to get started (it can detect the language being used based on build configuration files like a Maven pom.xml).
It's free (as in beer) for open source projects.
It has a responsive staff (you can file issues on GitHub to ask for new languages or packages to be supported, and the turnaround time isn't too bad for the free offering).
The user interface is beautiful and easy-to-use, including features like live-tailing in-progress builds.
It supports specifying private environment variables and encrypted credentials, so that you can safely automate deployments (for example, pushing built docker images to DockerHub).
One of the issues with building software using Apache Maven is that its cache resolution is not optimal. It pulls down all the artifacts onto the developer's local machine and can sometimes result in conflicts.
The build process can vary in time and gets progressively longer as the project's complexity increases.
Travis CI is a fairly mature platform now, and most, if not all of the common complaints have been improved. This includes documentation and logs with color support.
The overall usability of Apache Maven is very good to us. We were able to incorporate it into our company's build process pretty quickly. We deployed it to multiple teams throughout the entire enterprise. We got good feedback from our developers stating that Apache Maven has simplified their build process. It also allowed to to standardize the build process for the entire enterprise, thus ensure that each development team is using the same, consistent process to build code.
TravisCI hasn't had much changes made to its software and has thus fallen behind compared to many other CI/CD applications out there. I can only give it a 5 because it does what it is supposed to do but lacks product innovation.
I can't speak to the support, as I've never had issues. Apache Maven "just works," and errors were user errors or local nexus errors. Apache Maven is a great build/dependency management tool. I give it a 9/10 because occasionally the error message don't immediately indicate a solution...but again, those errors were always user or configuration errors, and the Maven documentation is extensive, so I don't find fault in Maven, but in its users.
After the private equity firm had bought this company the innovation and support has really gone downhill a lot. I am not a fan that they have gutted the software trying to make money from it and put innovation and product development second.
Ant is useful if your build is heavily based on customs scripts running in the right order. Maven greatly simplifies the process to keep track of and download build dependencies compared with Apache Ant. If your build is based on multiple custom scripts running in a specific order there is a lot of overhead in Maven compared to Apache Ant.
Jenkins is probably the leading choice for automation and has loads of features and a large community behind it, but it can be overkill for many projects. It also has more of a web 1.0 look and interface. CircleCI is another similar big competitor, but cannot compete with Travis CI's free account [in my opinion].