Need advice about which tool to choose?Ask the StackShare community!
Drone.io vs GitLab CI: What are the differences?
Key Differences between Drone.io and GitLab CI
Drone.io and GitLab CI are two popular continuous integration and continuous deployment (CI/CD) tools used by software development teams. While both platforms offer similar functionality, there are key differences that make each unique.
Architecture and technology stack: Drone.io is built as a microservices architecture that uses lightweight containers for running tasks. It leverages Docker to provide a scalable and modular solution. In contrast, GitLab CI is tightly integrated with the GitLab ecosystem and relies on shared runners to execute CI/CD pipelines.
Ease of setup and configuration: Drone.io's user interface is simpler and more intuitive, making it easier to set up and configure. Its configuration file, written in YAML, is easy to understand and modify. GitLab CI, on the other hand, can be more complex to configure due to its tightly integrated nature and extensive feature set.
Integration with version control systems: GitLab CI is tightly integrated with GitLab, a popular Git-based repository management platform. This integration allows seamless collaboration between code repositories and CI/CD pipelines. Drone.io, on the other hand, supports a wider range of version control systems beyond Git, including Mercurial and Subversion.
Community and ecosystem: GitLab CI benefits from being part of the larger GitLab ecosystem, which has a large and active community. This means there is a wealth of resources, plugins, and community-contributed integrations available to enhance the functionality of GitLab CI. While Drone.io also has an active community, it may not have the same level of resources and integrations as GitLab CI.
Pricing and deployment options: GitLab CI is part of the GitLab platform, which offers both self-hosted and cloud-hosted options. This gives users the flexibility to choose their preferred deployment method. Drone.io, on the other hand, is primarily self-hosted, which means users need to set up and maintain their own infrastructure.
Supported platforms and integrations: GitLab CI supports a wide range of platforms and integrations, including cloud providers, container registries, and deployment targets. It also has built-in support for multiple runners, allowing parallel execution of pipelines. Drone.io, while it supports popular platforms and integrations, may have a more limited set of options compared to GitLab CI.
In summary, Drone.io and GitLab CI differ in their architecture, ease of setup, integration with version control systems, community support, pricing and deployment options, and supported platforms and integrations. These differences make each tool suitable for different use cases and preferences.
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 Drone.io
- Open source51
- Built on docker50
- Free for open source27
- GitHub integration23
- Easy Setup18
- Hosted internally17
- Flexible scripting17
- Bitbucket integration10
- GitLab integration7
- Works with Heroku7
- Gogs integration6
- Browser testing4
- Works with Google AppEngine4
- Active Community4
- Works with Amazon3
- Works with Cloud Foundry2
- Gitea Integration2
- Configuration as code1
- Eazy to use1
- Easy tool to automate CI pipeline. Running in an hour1
- Easy pipelines1
- Only need yml config1
- Written in Go1
Pros of GitLab CI
- Robust CI with awesome Docker support22
- Simple configuration13
- All in one solution9
- Source Control and CI in one place7
- Integrated with VCS on commit5
- Free and open source5
- Easy to configure own build server i.e. GitLab-Runner5
- Hosted internally2
- Built-in Docker Registry1
- Built-in support of Review Apps1
- Pipeline could be started manually1
- Enable or disable pipeline by using env variables1
- Gitlab templates could be shared across logical group1
- Easy to setup the dedicated runner to particular job1
- Built-in support of Kubernetes1
Sign up to add or upvote prosMake informed product decisions
Cons of Drone.io
- Very basic documentation3
Cons of GitLab CI
- Works best with GitLab repositories2