CI as Code

Version:Starting with

Who needs it?

Development teams that use a GitOps approach where SCM is the single source of truth desire to manage their CI configurations in the same place.

The problem

A GitOps approach to CI is critical for auditability and the prevention of configuration drift. Configuration drift occurs when human changes are made to the cluster that are inconsistent with or not captured in the desired state. When configuration changes are made through git it’s easily discernible who introduced what changes and when. Without CloudBees CasC for Masters users are unable to audit configuration changes made via the user interface. Additionally, reproducing and automating master creation is difficult, the chance of human error is high, and managing associated plugins is manual and difficult.

CloudBees can help

CloudBees is always evolving towards the vision of ‘continuous everything’. CloudBees CI supports this mission through CloudBees CasC for Masters.

The solution

CloudBees CasC for Masters simplifies the management of a CloudBees CI cluster by capturing the configuration of masters in human-readable, declarative configuration files. By capturing the configuration in files, it can be treated as a first-class revision-controlled artifact and then applied to masters. With CloudBees CasC for Masters, masters and their associated plugins are centrally managed from Operations Center.

How we do it better

CloudBees Configuration as Code (CasC) for Masters saves time, reduces error prone human interventions, and preserves git as the single source of truth for version control and auditability - especially on multi-master installations. CloudBees CI provides a solution to manage Jenkins at scale as code.

CloudBees CasC for Masters is built using Jenkins Configuration as Code (JCasC) and introduces additional capabilities purpose-built for the enterprise and available only in CloudBees CI including:

  • Manage plugins as code which allows users to define, as code, the list of plugins that are installed in the master.

  • Implement and use CloudBees Assurance and Beekeeper. All Tier 1 plugins for masters in the CloudBees Assurance Program (CAP) are currently supported and configurable as code.

  • Manage all Configuration Bundles and associated masters via the Operations Center. Create and manage Configuration Bundles which define the desired state of the team, managed or Client Masters. New masters can be created from these bundles. These bundles are listed in Operations Center and can be connected to SCMs. When changes are made to the Configuration Bundle, the master associated with the bundle is updated.

Use cases

Developers can:

  • Add new teams.

  • Establish an audit trail automatically.

  • Reduce the risk of configuration and security violations.