TrustRadius Insights for GoCD are summaries of user sentiment data from TrustRadius reviews and, when necessary, third party data sources.
Pros
User-Friendly Web Interface: Users have consistently found the web interface of GoCD to be user-friendly and visually appealing. They appreciate how easy it is to navigate and interact with the platform.
Integration with GitHub and Easy Management of Groups and Permissions: Many users liked the feature of being able to connect with GitHub using addons, as well as the ability to easily manage groups and permissions within GoCD. This functionality streamlines workflow processes.
Effective Use of Templates for Different Pipelines: After understanding how to utilize them effectively, many users have appreciated the ability to use templates for different pipelines in GoCD. This feature allows for consistent and efficient pipeline creation, saving time and effort.
GoCD is used throughout the whole global AdNovum group. It's the backbone of our CI/CD system. GoCD is tightly integrated into our SCM system, our binary repo system, as well as both our internal on-premise VMs and our Azure subscription. So our engineers make changes to the code, create a PR to trigger a PR build to verify the changes. After merging to main branch, as well as on a daily basis, we have pipelines to build the main branch then push the daily artifacts to binary repo. Another daily pipeline then pick things up to deploy to a testing environment. Promotion from daily environment to other ones are triggered as needed. Everything automated!
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.
Cons
I miss the ability to have custom build parameters on GUI. So, all the changes even the smallest ones have to be checked into SCM.
If there's an ability to define the priority of the pipelines, that would be great. Some build environments only have a couple of agents, so there are times that builds have to wait for quite a long time.
I wish that I can create a new view for a group. Currently, if I have a view for group A, then more pipelines are added to that group, I have to edit the view to manually add the new pipelines.
Likelihood to Recommend
GoCD is easy to set up. So if you just want to get some pipelines up & running quickly, & they're quite stable, or you can have many pipelines for different needs then GoCD is great. Still, if you only want to have a few pipelines, but with the flexibility to run them with different parameters dynamically, then Jenkins is better.
GoCD is being used for setting up a deployment pipeline for our dev environment and also when the application is ready to be deployed to production. It has built-in support for setting up the environment, different environment variables for each step and also it supports both Linux and Windows build agent.
Pros
Easy Setup for deployment pipeline
Environment Variables for each step
Supports both Windows and Linux agent
Highly customizable
Cons
UI can be improved
Location for settings can be re-arranged
API for setting up pipeline
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.