Skip to main content

Jenkins

Jenkins is an open-source automation server (continuous integration and continuous delivery) used to build, test, and deploy software across diverse environments.

  • Extensible automation server for orchestrating build, test, and deployment pipelines (CI/CD orchestration).
  • Plugin-based architecture with hundreds of integrations for source control, build tools, artifact repositories, notifications, and cloud platforms (ecosystem extensibility).
  • Support for declarative and scripted pipelines as code, including multi-branch and complex workflows (pipeline-as-code).
  • Master/controller and agent/worker execution model for distributed workload processing (distributed build infrastructure).
  • Web-based management UI, Representational State Transfer (REST) APIs, and configuration options for job definitions, credentials, and access control (operations and administration).

More About Jenkins

Jenkins is an open-source automation server (continuous integration and continuous delivery) that automates software development workflows, including building, testing, and deploying applications. It addresses the need for repeatable, auditable, and automatable processes across the software delivery lifecycle, supporting teams that adopt Continuous Integration (CI) and continuous delivery practices.

At its core, Jenkins provides a job execution engine, a web-based interface, and an automation framework for defining and running tasks (CI/CD orchestration). It supports both Freestyle jobs and Pipeline jobs, where pipelines can be defined as code in a Jenkinsfile stored alongside application source code (pipeline-as-code). Jenkins Pipelines can be declarative or scripted, enabling linear or complex workflows, parallel stages, environment-specific deployments, and integration with external systems.

The project uses a plugin-based architecture, where most integrations and capabilities are implemented as installable plugins (ecosystem extensibility). There are plugins for source code management systems, build and test tools, artifact repositories, code quality scanners, credentials management, notification systems, and cloud services. This architecture enables Jenkins to operate in diverse enterprise stacks and to integrate with established toolchains. The plugin model also supports customization of user interface elements, build steps, post-build actions, and pipeline steps.

Jenkins employs a controller-and-agent model for workload distribution (distributed build infrastructure). The controller manages configuration, scheduling, and coordination, while agents execute jobs on dedicated nodes. Agents can run on different operating systems or environments, including bare metal, virtual machines, and containers, enabling teams to align build and test execution with their runtime platforms and performance requirements.

For administration, Jenkins offers a web UI for configuring jobs, global settings, credentials, nodes, security, and plugins (operations and administration). It provides user and role management options and supports integration with external identity systems through plugins. Jenkins exposes REST APIs and Command-Line Interface (CLI) tools, which allow automation of configuration, job triggering, and retrieval of build metadata, supporting integration with external systems and Infrastructure-as-Code (IaC) workflows.

Enterprises use Jenkins to implement CI pipelines that automatically build and test code on every change, and continuous delivery pipelines that promote artifacts through staging and production environments (DevOps tooling). It is positioned within software delivery platforms as an automation hub that coordinates version control, build systems, test frameworks, artifact repositories, and deployment mechanisms. As a hosted service under the Continuous Delivery Foundation, Jenkins is aligned with a broader ecosystem of continuous delivery projects and practices.