Likelihood to Recommend 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 Gradle Build Tool is more suitable with the Java projects. It has helped us to automate the build part of the devops cycle. Its configuration and Groovy script is really easy to understand and can be implemented with ease. It can be used both for automation and manual buids of the projects. Gradle Build Tool is easy to use and easy to integrate.
Read full review Pros 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 Gradle's methods to manipulate files is very flexible. It minimizes the amount of code one has to write to copy, move, or expand zip or tar files. Gradle uses Groovy, which is a Java like language. This allows for most computer engineers to come up to speed fairly quickly, for writing or maintaining gradle code. Gradle also supports DSL (Domain Specific Language), which is based on Groovy. The DSL language allows engineers to automate build jobs that otherwise could be very cumbersome to maintain or modify. Read full review Cons UI can be improved Location for settings can be re-arranged API for setting up pipeline Read full review I'd like to see a way to specify how to run only certain tests in parallel, I tried this feature and for tests that involve interaction with SQL Databases sometimes I can't because of deadlocks. Not sure if there is something else, gradle has been working really good for us and they are adding improvements all the time which is awesome. I used to think the performance is a deal but the latest versions are addressing this issue very well Read full review Usability Gradle's language construct is good
Read full review Performance I have tried to use Gradle for projects several times in the past, but there is just so much work in maintaining the build file that it quickly becomes untenable. I have been using Maven for many years, and even though the build file can be complex, it works without maintenance between releases.
Read full review Support Rating Gradle has been an excellent tool for Android development. It has helped us create multiple versions of the app for different environments. It also takes care of all the packaging needs in the background without having to write all the code related to that. It is a no brainer to use Gradle with Android applications.
Read full review Alternatives Considered 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 [Gradle is] a more modern version of open source build tools like Ant and
Maven .
Whereas the build config was XML files which were tedious and error
prone, the modern DSL usage of Groovy to write these build files is a
great advancement. Also these config files can be inherited from top
level to each associated project.
Sharique Khan Software Engineering Manager - Edge and Cloud Native Productline
Read full review Return on Investment 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 In a distributed development environment, once we established a strong CI/CD model, Gradle proved to be a great choice to automate the various processes. Gradle also provides much flexibility, which is essential in today's development environment. The important benefit is that the CI/CD engineers can support development's needs quickly and reliably. This in turn supports faster testing and deployment, which generates higher ROI. Read full review ScreenShots