Jenkins vs GitLab CI

GitLab compared to other tools

GitLab is the next-generation development toolset that covers 100% of your software development lifecycle.

GitLab unifies chat, issues, code review, CI, CD, and cycle analytics into a single UI. Unlike other source code management tools that only support a portion of your development lifecycle, GitLab delivers a unified experience for every step of the development lifecycle providing the most efficient approach to software delivery. So no matter what line of business you're in, GitLab gives you the edge to compete, innovate, and win.

FEATURES

No installation needed

GitLab CI ships with GitLab and is ready to use out of the box. The only thing you need to install is the GitLab Runner which processes the jobs.

Learn more about setting up the GitLab Runners.

Minimal build configuration

GitLab CI requires less configuration for your builds than a similar Jenkins setup. Your pipelines are defined in a versioned controlled yaml file that is easy to edit and extend while Jenkins uses a JSON-style format.

Learn more about .gitlab-ci.yaml.

Extensible

Both GitLab CI and Jenkins are extensible through an API or plugin system respectively, but GitLab's core CI feature set is more comprehensive than Jenkins.

Learn more about GitLab's API.

Multi-platform support

You can set up your own GitLab Runner on virtually any Operating System and any Unix distribution, from Windows to FreeBSD and Kubernetes.

Learn how to install and use your own Runner.

Built for containers and Docker

GitLab ships with its own Container Registry, CI Runner and is ready for a complete CI/CD container workflow. You can use any Docker image you like (even from private Container Registries) which means you can test and build on any programming language and framework.

Learn how to use Docker with GitLab CI.

Cloud Native

GitLab CI/CD is Cloud Native, purpose built for the cloud model. GitLab ships with Red Hat OpenShift and Kubernetes support out of the box.

Learn how to integrate Kubernetes with GitLab.

Scalable infrastructure built on Docker machine

Thanks to GitLab Runners being able to autoscale, your infrastructure can contain only as much build instances as necessary at anytime. Autoscale provides the ability to utilize resources in a more elastic and dynamic way. When this feature is enabled and configured properly, jobs are executed on machines created on demand something that also leads to reduced costs.

Learn more about configuring autoscaling

Out of the box setup of build environments

When you run GitLab on-premises, you must set up your own build environment by manually installing and configuring GitLab Runner. GitLab.com offers container-based shared Runners which you can use for your projects by choosing any Docker image you want. Installing the appropriate software for your project is up to you.

Learn more about setting up the GitLab Runners.

Environments and deployments

GitLab CI is capable of not only testing or building your projects, but also deploying them in your infrastructure, with the added benefit of giving you a way to track and rollback your deployments. You can always know what is currently being deployed or has been deployed on your servers.

Learn more about environments and deployments.

Preview your changes with Review Apps

With GitLab CI you can create a new environment for each one of your branches, speeding up your development process. Spin up dynamic environments for your merge requests with the ability to preview your branch in a live environment.

Learn more about Review Apps.

Comprehensive pipeline graphs

Pipelines can be complex structures with many sequential and parallel jobs. To make it a little easier to see what is going on, you can view a graph of a single pipeline and its status. Jenkins provides that ability only with an addition of a plugin.

Learn more about pipeline graphs.

Browsable artifacts

With GitLab CI you can upload your job artifacts in GitLab itself without the need of an external service. Because of this, artifacts are also browsable through GitLabs's web interface. Travis CI relies on having an AWS S3 account in order to upload artifacts.

Learn more about using job artifacts in your project.

Scheduled triggering of pipelines

You can make your pipelines run on a schedule in a cron-like environment.

Learn how to trigger pipelines on a schedule in GitLab.

Environment monitoring

GitLab ships with Prometheus allowing you to monitor the performance of your deployed environments in Kubernetes without any additional setup.

Read more about GitLab's integration with Prometheus.

Integrates with Cycle Analytics

GitLab CI integrates with GitLab Cycle Analytics allowing you see how much of your cycle time from idea to production is spent on development, testing and review.

Learn more about Cycle Analytics.

Monitor Kubernetes deployments with Deploy Boards

GitLab Enterprise Edition Premium ships with Deploy Boards offering a consolidated view of the current health and status of each CI environment running on Kubernetes. The status of each pod of your latest deployment is displayed seamlessly within GitLab without the need to access Kubernetes.

Learn more about Deploy Boards.

Support for Canary Deployments monitoring

GitLab Enterprise Edition Premium can monitor your Canary Deployments when deploying your applications with Kubernetes.

Learn more about configuring Canary Deployments.