Key components and concepts
- Jobs: These are the repeatable building blocks that Jenkins stitches together to automate tasks in pipelines. Typical jobs include running test scripts, building code, deploying apps, and other steps. Jobs can have configurable kickoff triggers to start them automatically, along with inputs, running environments, and result reports.
- Pipelines: Pipelines chain discrete jobs into a coordinated end-to-end workflow that models the entire delivery process from code to production. Instead of separate jobs, pipelines provide visibility and control into the bigger picture process flows that cross DevOps functional silos.
- Agents: Agents refer to the distributed network of servers and environments where Jenkins orchestrates executing the jobs and deployment tasks across an application pipeline. Agents can either be servers provisioned internally or external cloud hosts that connect into Jenkins server. Spreading work across agents helps scale up capacity but also introduces challenges of managing all these distributed resources.
- Plugins: The key to Jenkins flexibility comes from its over 1,600 plugins which enable it to interoperate with practically every major DevOps, infrastructure, container, automation, and productivity tool. Plugins provide out-of-the-box integrations with hundreds of third party systems – spanning from source code tools like Git to orchestrators like Kubernetes and everything in between. Plugins also equip Jenkins with additional capabilities around notifications, dashboards, analysis, security, governance, and scaling to custom fit organizational needs.
Understanding Jenkins CI/CD Pipeline And Its Stages
Jenkins is an open-source automation server that enables developers to reliably build, test, and deploy applications. It supports continuous integration and continuous delivery (CI/CD) workflows that allow teams to frequently deliver high-quality software. Jenkins is extremely popular, with over 100,000 installations worldwide.
At its core, Jenkins provides an automation engine with an extensive plugin ecosystem that offers integrations for practically any DevOps toolchain. This allows Jenkins to fit into diverse infrastructure setups and support all types of development processes.