Gitlab hero border pattern left svg Gitlab hero border pattern right svg

GitLab
vs
Jenkins

Decision Kit

Decision Kit

For Business Decision Makers

On this page

Jenkins Strengths

Open Source: Jenkins is one of the most popular self-managed open source build automation and CI/CD developer tools in the world.

Early Mover Advantage: Jenkins quickly established itself as a leading build orchestration tool after its inception in 2005 and continued gaining steam before the term “DevOps” and “CI/CD” was all the craze like we hear about today.

Flexibility: Jenkins is seen as the “Swiss army knife of automation” with seemingly unlimited flexibility because of its plugin ecosystem.

Community: Jenkins has a very active, excited, and thriving open source community of contributors.

Jenkins Limitations

Not a Single DevOps Application: Jenkins is not an end to end platform for the entire DevOps Software Lifecycle.

Plugins: Extending the native functionality of Jenkins is done through plugins.

High Maintenance: Maintaining 3rd party Plug-ins can be difficult and expensive to maintain, secure, and upgrade.

Single “Person” of Failure: Jenkins requires dedicated resources with Specialized Knowledge. Once that dedicated “Person” (resource) transitions out of the Jenkins specialist role moving forward with Jenkins development may “Fail” or stall.

Developer Experience: While Jenkins is great for automating some things it is very brittle and is taking away from the developer experience. Specifically:

  • Jenkins has brittle configurations, fragile UI
  • Jenkins’ outdated and unmaintained plugins continues to grow
  • Jenkins is impacting Developer happiness and productivity directly impacted, leads to difficulty retaining talent for Jenkins shops

Jenkins X: Jenkins X has high system requirements, Deployment limited to Kubernetes Clusters only, Only has a command line interface (at present) and Still uses Groovy.

Three Strong GitLab Differentiators

Single Application: GitLab provides more than what Jenkins is hoping to evolve to, by providing a fully integrated single application for the entire DevOps lifecycle. More than Jenkins’ goals, GitLab also provides planning, SCM, packaging, release, configuration, and monitoring (in addition to the CI/CD that Jenkins is focused on). With Gitlab, there is no need for plugins and customization. Unlike Jenkins, GitLab is open core and anyone can contribute changes directly to the codebase, which once merged would be automatically tested and maintained with every change.

Maintenance: GitLab is easy to maintain and update. To update, just replace one docker image. When you update version, it updates everything. Also, maintaining Pipleline Definitions are cleaner and easier than in Jenkins. The GitLab CI/CD configuration file (.gitlab-ci.yml): * Uses a structured YAML format * Has a shorter learning curve - simpler to get up and running * Prevents unconstrained complexity - which can make your Jenkins pipeline files hard to understand and manage * Versioned in repository next to your code - makes it easy to maintain and update by developers

Better execution architecture: The GitLab Runner, which executes your CI/CD jobs, has an execution architecture that is more adaptable than Jenkins. Here are the advantages: * Written in Go for portability - distributed as single binary without any other requirements. * Native Docker support - Jobs run in Docker containers. GitLab Runner downloads the container images with the necessary tools, runs the jobs, then removes the container. * No extra dev tool pre-installs needed on the Runner machines * Built-in auto-scaling - machines created on demand to match job demand. Enables cost savings by using resources more dynamically

GitLab vs. Jenkins Solutions to Common BDM Problems

💚Complete Support 💛Partial Support 💔No Support

The BDM Problem The DevOps Solution GitLab Jenkins
Modernization

Modernize aging systems and processes. Shifting DevOps development processes to the cloud.
Simplify cloud native workflow integration with built in Integration for Kubernetes Monitoring and Management 💚 💔
Employee Experience

Improving the experience of employees and their day-to-day operations.
Simplify application delivery steps with preconfigured pipelines (Auto DevOps). Proper management and understanding of security risk. 💚 💔
Competing

Become more competitive in a rapidly changing environment.
Quickly deliver application enhancements in a controlled manner with Progressive Delivery features. 💚 💛
Developer Return On Investment (ROI)

Freeing up developers’ time for more value-added work.
Reduce the time and simplify the steps to deliver code updates with Pipeline Orchestration and preconfigured pipelines (Auto DevOps). 💚 💛
COVID-19

Increased demand for greater access to applications.
Meet developers needs for efficient Software Development Tools with Enterprise Scaling and Pipeline Orchestration. 💚 💛
User Trust

Reducing risk by meeting security requirements.
Deliver well vetted code with Distinctive Scans and effective methods to address Security Risk. 💚 💛
User Experience

Quality application and digital engagement experience which ultimately improves the quality of service.
Preview applications to reduce delivery risk with dynamic Application Reviews. 💚 💛
Require 3rd Party Plugins
Compliance Management

Meeting Compliance requirements.
Define, enforce and report on compliance policies and framework with out of the box reporting support for Financial Services Regulatory Compliance, PCI, HIPAA and other regulations. 💚 💔