Apache Maven vs. GoCD

Overview
ProductRatingMost Used ByProduct SummaryStarting Price
Apache Maven
Score 8.9 out of 10
N/A
Apache Maven is an open source build automation tool.N/A
GoCD
Score 8.0 out of 10
N/A
GoCD, from ThoughtWorks in Chicago, is an application lifecycle management and development tool.N/A
Pricing
Apache MavenGoCD
Editions & Modules
No answers on this topic
No answers on this topic
Offerings
Pricing Offerings
Apache MavenGoCD
Free Trial
NoNo
Free/Freemium Version
NoNo
Premium Consulting/Integration Services
NoNo
Entry-level Setup FeeNo setup feeNo setup fee
Additional Details——
More Pricing Information
Best Alternatives
Apache MavenGoCD
Small Businesses
GitLab
GitLab
Score 8.9 out of 10
GitLab
GitLab
Score 8.9 out of 10
Medium-sized Companies
GitLab
GitLab
Score 8.9 out of 10
GitLab
GitLab
Score 8.9 out of 10
Enterprises
GitLab
GitLab
Score 8.9 out of 10
GitLab
GitLab
Score 8.9 out of 10
All AlternativesView all alternativesView all alternatives
User Ratings
Apache MavenGoCD
Likelihood to Recommend
9.0
(14 ratings)
9.0
(2 ratings)
Usability
8.0
(1 ratings)
-
(0 ratings)
Support Rating
5.1
(3 ratings)
-
(0 ratings)
User Testimonials
Apache MavenGoCD
Likelihood to Recommend
Apache
Maven is great if you have an application with a lot of third-party dependencies and don’t want each developer to keep track of where the dependency can be downloaded. It’s also a great way to make it easy for a new developer to be able to build the application. It’s less suitable for simple projects without any third-party dependencies.
Read full review
ThoughtWorks
Previously, our team used Jenkins. However, since it's a shared deployment resource we don't have admin access. We tried GoCD as it's open source and we really like. We set up our deployment pipeline to run whenever codes are merged to master, run the unit test and revert back if it doesn't pass. Once it's deployed to the staging environment, we can simply do 1-click to deploy the appropriate version to production. We use this to deploy to an on-prem server and also AWS. Some deployment pipelines use custom Powershell script for.Net application, some others use Bash script to execute the docker push and cloud formation template to build elastic beanstalk.
Read full review
Pros
Apache
  • If you are building in the Java ecosystem, then Maven definitely has the biggest repository of artifacts needed for such projects.
  • It has a very simple to use extendable architecture. Everything is configurable through the Pom.xml file which is very simple to follow.
Read full review
ThoughtWorks
  • Pipeline-as-Code works really well. All our pipelines are defined in yml files, which are checked into SCM.
  • The ability to link multiple pipelines together is really cool. Later pipelines can declare a dependency to pick up the build artifacts of earlier ones.
  • Agents definition is really great. We can define multiple different kinds of environments to best suit our diverse build systems.
Read full review
Cons
Apache
  • Maven provides a very rigid model that makes customization tedious and sometimes impossible. While this can make it easier to understand any given Maven build, as long as you don’t have any special requirements, it also makes it unsuitable for many automation problems.
  • Maven has few, built-in dependency scopes, which forces awkward module architectures in common scenarios like using test fixtures or code generation. There is no separation between unit and integration tests
Read full review
ThoughtWorks
  • UI can be improved
  • Location for settings can be re-arranged
  • API for setting up pipeline
Read full review
Usability
Apache
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.
Read full review
ThoughtWorks
No answers on this topic
Support Rating
Apache
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.
Read full review
ThoughtWorks
No answers on this topic
Alternatives Considered
Apache
Ant, Maven's opposing framework, is often a point of comparison. Although Ant does not require formal conventions, it is procedural in the sense that you must tell Ant exactly what to do and when. It also lacks a lifecycle, along with goal definition and dependencies. Maven, on the other hand, requires less work as it knows exactly where your source code is as long as the pom.xml file is generated.
Read full review
ThoughtWorks
GoCD is easier to setup, but harder to customize at runtime. There's no way to trigger a pipeline with custom parameters.
Jenkins is more flexible at runtime. You can define multiple user-provided parameters so when user needs to trigger a build, there's a form for him/her to input the parameters.
Read full review
Return on Investment
Apache
  • Apache Maven is an open source product from the Apache Software Foundation. Being free to use without any licensing constraints, we've been very happy with this product thus far.
  • The software build and packaging times for our applications have improved greatly since our use of this tool.
Read full review
ThoughtWorks
  • ROI has been good since it's open source
  • Settings.xml need to be backed up periodically. It contains all the settings for your pipelines! We accidentally deleted before and we have to restore and re-create several missing pipelines
  • More straight forward use of API and allows filtering e.g., pull all pipelines triggered after this date
Read full review
ScreenShots