Need advice about which tool to choose?Ask the StackShare community!
GitLab CI vs GoCD: What are the differences?
Developers describe GitLab CI as "GitLab integrated CI to test, build and deploy your code". GitLab offers a continuous integration service. If you add a .gitlab-ci.yml file to the root directory of your repository, and configure your GitLab project to use a Runner, then each merge request or push triggers your CI pipeline. On the other hand, GoCD is detailed as "Open source continuous delivery tool allows for advanced workflow modeling and dependencies management". GoCD is an open source continuous delivery server created by ThoughtWorks. GoCD offers business a first-class build and deployment engine for complete control and visibility.
GitLab CI and GoCD belong to "Continuous Integration" category of the tech stack.
"Robust CI with awesome Docker support" is the top reason why over 16 developers like GitLab CI, while over 29 developers mention "Open source" as the leading cause for choosing GoCD.
GoCD is an open source tool with 5.07K GitHub stars and 796 GitHub forks. Here's a link to GoCD's open source repository on GitHub.
According to the StackShare community, GitLab CI has a broader approval, being mentioned in 317 company stacks & 449 developers stacks; compared to GoCD, which is listed in 40 company stacks and 78 developer stacks.
I'm open to anything. just want something that break less and doesn't need me to pay for it, and can be hosted on Docker. our scripting language is powershell core. so it's better to support it. also we are building dotnet core in our pipeline, so if they have anything related that helps with the CI would be nice.

Google cloud build can help you. It is hosted on cloud and also provide reasonable free quota.
We are a mid-size startup running Scala apps. Moving from Jenkins/EC2 to Spinnaker/EKS and looking for a tool to cover our CI/CD needs. Our code lives on GitHub, artifacts in nexus, images in ECR.
Drone is out, GitHub actions are being considered along with Circle CI and GitLab CI.
We primarily need:
- Fast SBT builds (caching)
- Low maintenance overhead (ideally serverless)
- Everything as code
- Ease of use

I think I've tried most of the CI tools out there at some point. It took me a while to get around to Buildkite because at first I didn't see much point given it seemed like you had to run the agent yourself. Eventually it dawned on me why this approach was more ingenious than I realised:
Running my app in a production (or production-like) environment was already a solved problem, because everything was already in some form of "everything as code". Having a test environment where the only difference was adding the Buildkite agent was a trivial addition.
It means that dev/test/prod parity is simple to achieve and maintain. It's also proven to be much easier to support than trying to deal with the problems that come with trying to force an app to fit into the nuances and constraints that are imposed by the containers/runtime of a CI service. When you completely control all of the environment the tests are running in you define those constraints too. It's been a great balance between a managed service and the flexibility of running it yourself.
And while none of my needs have hit the scale of Shopify (I saw one of their engineers speak about it at a conference once, I can't find the video now though 😞) it's good to know I can scale out my worker nodes to hundreds of thousands of workers to reduce the time it takes for my tests to run.

I would recommend you to consider the JFrog Platform that includes JFrog Pipelines - it will allow you to manage the full artifact life cycle for your sbt, docker and other technologies, and automate all of your CI and CD using cloud native declarative yaml pipelines. Will integrate smoothly with all your other toolset.

more configurable to setup ci/cd: * It can provide caching when build sbt, just add this section to yml file * Easy to use, many documentation
Weakness: * Need use gitlab as repository to bring more powerful configuration
Buddy is one of the most easy-to-use tools for CI I ever met. When I needed to set up the pipeline I was really impressed with how easy it is to create it with Buddy with only a few moments. It's literally like: 1. Add repo 2. Click - Click - Click 3. You're done and your app is on prod :D The top feature that I've found is a simple integration with different notification channels - not only Slack (which is the one by default), but Telegram and Discord. The support is also neat - guys respond pretty quickly on even a small issue.
Pros of GitLab CI
- Robust CI with awesome Docker support22
- Simple configuration12
- All in one solution8
- Source Control and CI in one place6
- Integrated with VCS on commit5
- Easy to configure own build server i.e. GitLab-Runner5
- Free and open source5
- Hosted internally2
- Built-in support of Kubernetes1
- Easy to setup the dedicated runner to particular job1
- Enable or disable pipeline by using env variables1
- Gitlab templates could be shared across logical group1
- Built-in Docker Registry1
- Pipeline could be started manually1
- Built-in support of Review Apps1
Pros of GoCD
- Open source32
- Pipeline dependencies27
- Pipeline structures25
- Can run jobs in parallel22
- Very flexible19
- Plugin architecture15
- Environments can keep config secure13
- Great UI12
- Good user roles and permissions10
- Supports many material dependencies9
- Fan-in, Fan-out7
- Designed for cd not just ci6
- Empowers product people to make delivery decisions4
- Flexible & easy deployment2
- Pass around artifacts2
- Build once1
Sign up to add or upvote prosMake informed product decisions
Cons of GitLab CI
- Works best with GitLab repositories2
Cons of GoCD
- Lack of plugins2
- Horrible ui2
- No support1