When comparing Buildkite vs GitLab CI, the Slant community recommends GitLab CI for most people. In the question“What are the best continuous integration tools?” GitLab CI is ranked 2nd while Buildkite is ranked 23rd. The most important reason people chose GitLab CI is:
All build setup are stored in .gitlab-ci.yml file, which is versioned and stored in the project. Like Travis do.
Specs
Ranked in these QuestionsQuestion Ranking
Pros
Pro Very easy to set up
The web UI allows writing a build script inline, running a script from your repository, or creating a whole pipeline. Docker support is built-in.
Pro Allows parallel jobs
Buildkite allows you to configure your build in order to run parallel jobs and obtain considerably faster results.
Pro Scheduled builds
Run builds on a cron-like schedule to rebuild a master branch or run an import process.
Pro Run your own build servers
Run an agent on your own servers (AWS, etc) so that you have control over what your builds can access.
Pro Intergrates with VCS
Integrates with GitHub, GitHub Enterprise, Bitbucket, Bitbucket Server, GitLab, Codebase, or any custom Git repository.
Pro Affordable
One plan that gives you everything at a reasonable price.
Pro Plugin support for docker and docker-compose
Pro Concurrency control
Make sure only one deploy build runs at a time with concurrency control.
Pro Config driven build process
While you can define your build process in the dashboard, you can also run it from config files in the repository.
Pro Responsive support
Support respond quickly and listen to feedback.
Pro File based configuration
All build setup are stored in .gitlab-ci.yml file, which is versioned and stored in the project. Like Travis do.
Pro Free and open source
All of GitLab CI's code is open source and under the MIT license.
Pro Parallel builds lessen test times
Tests are parallelized across multiple machines in order to reduce test times considerably.
Pro Docker intergration
Good integration with Docker.
Pro Highly scalable
The tests of GitLab CI run parallel to each other and are distributed on different machines. Developers can add as many machines as they want or need, making GitLab CI highly scalable to the development team's needs.
Pro Quick setup for projects hosted on GitLab
Since it uses the GitLab API for setting up hooks, the setup of GitLab CI for projects hosted on GitLab can be done in one click.
Pro Kubernetes integration
Easy to test and deploy on Kubernetes.
Cons
Con Not lightweight
Not a lightweight solution, demanding and memory hungry.
Con Cost
Larger projects will need upgraded version
Con Security risks
Con Windows not supported
No Windows support, but it's possible to use a Bitnami stack.