Skip to content

Jenkins & Cloudbees

Jenkins & CloudBees

Jenkins

Jenkins Is The Way

Groovy

Awesome Jenkins

Jenkins Cheat Sheet

Online Learning

Jenkins Configuration as Code Solutions. 3 available DSLs

  • Job DSL was one of the first popular plugins for Jenkins which allows managing configuration as code and many other plugins dealing with this aspect have been created since then, most notably the Jenkins Pipeline and Configuration as Code plugins. It is important to understand the differences between these plugins and Job DSL for managing Jenkins configuration efficiently.
  • In consequence 3 DSLs are available to configure jenkins as code:
  • Tip: Don’t stay with manually configured freestyle jobs. Use JobDSL wrapper if you can’t use Pipeline.

DSL 1. Job DSL Plugin. From Freestyle jobs to Declarative Pipeline

DSL 2. Jenkins Pipeline. Pipeline as Code with Jenkins

Extending with Shared Libraries
Automating Service Level Indicators/Service Level Objectives based build validation with Keptn and Jenkins
  • Keptn provides automated SLI/SLO-based quality gates
  • Keptn Jenkins Shared Library integrates Jenkins and Keptn with just a couple of function calls.
  • Jenkins Online Meetup Andreas Grabner from Dynatrace will talk about automating Service Level Indicators/Service Level Objectives based build validation with Keptn and Jenkins.
    • In many organizations up to 80% of pipeline execution time is spent in manual build validation steps. How can we reduce that? One option is applying Google’s SRE (Site Reliability Engineering) practices by automating SLI (Service Level Indicators) & SLO (Service Level Objectives) based build validation. This method has proven to detect problematic issues in production and also allows us to automatically approve or reject builds being pushed through our pipelines.
    • In this session you learn the basics of picking good SLIs & SLOs and how to extract them from your monitoring tools. After this session you will be able to start implementing this integration yourself with Jenkins. To give you a jump start you will be introduced to the open source project Keptn which provides automated SLI/SLO-based quality gates. Then we’ll talk about Keptn Jenkins Shared Library which integrates Jenkins and Keptn with just a couple of function calls.
  • youtube: Level-Up your Jenkins-based Delivery with Keptn

DSL 3. Jenkins Configuration as Code (JCasC)

Read-only Jenkins Configuration

Jenkins Architecture. Performance and Scalability

Ansible and Jenkins. Running Ansible Playbooks From Jenkins

Jenkins Tools

Jenkins Multibranch Pipeline

  • The Multibranch Pipeline 🌟 enable developer to implement different Jenkinsfiles for different branches of the same project. It’s can discover branches and execute pipeline automatically with Jenkinsfiles in version control for better management pipeline.

Multibranch Pipelines with Kubernetes

Jenkins Plugins

Selection of Jenkins Plugins

Plugin Development. Jenkins Plugin Parent POM 4.0

  • Plugin Development
  • Plugin Development: Dependency Management
  • Parent POM for Jenkins Plugins. Plugin POM 4.0 This new parent POM is decoupled from the core Jenkins project, both from the Maven and repository perspectives.
  • 4.0 changelog
  • Maven is widely used for Jenkins plugin development, more than 90% of plugins use it. In order to simplify plugin development, the Jenkins project offers a standard Parent POM which defines the recommended build, verification and release flow. Such parent POM helps us to ensure quality of the Jenkins plugins. In April 2020 we released a new major release of the parent POM which includes a number of important and sometimes incompatible changes: Jenkins core Bill of materials, full migration to SpotBugs, etc.
  • In this presentation James Nord will talk about the changes introduced in Plugin POM 4.0. What do plugin developers and users get by upgrading? How to upgrade? What obstacles to expect, and how to resolve them?

Jenkins Blue Ocean

Cloudbees Flow

Monitoring jenkins

Jenkins and Spring Boot

Kubernetes Native Jenkins Operator

CloudBees

CloudBees Rollout and Feature Flags

Feature Flags in CloudBees Enterprise On-Premise
  • CloudBees Releases Another Industry First: Feature Flagging for On-Premise Use 🌟
    • SAN JOSE, CA. – May 5, 2020 – CloudBees, Inc., the enterprise software delivery company, today announced a new release of CloudBees Feature Flags that enables developers to manage production deployments of new functionality in a controlled manner with an on-premise feature manager. The new offering strengthens CloudBees’ leadership in the continuous integration/continuous delivery (CI/CD) space by extending users’ ability to leverage feature flag technology in both on-premise and cloud environments. CloudBees Feature Flags is from the company and application formerly known as Rollout, acquired last year by CloudBees.
    • Feature flags have emerged as popular tools for deploying new features with the added advantage of enabling risk-free experimentation and fast results. As organizations enhance applications with rich new capabilities, many use feature flags to preview features for select audiences, with the ability to pull them back quickly if the functionality is not successful. In a recent survey, 97% of respondents say that it is important for their organization to implement new application features quickly, yet 65% say it is difficult for their organization to do so safely. CloudBees Feature Flags enables developers to easily release new features with confidence, reduce risk in doing so and manage large numbers of feature flags at scale.
    • β€œVery soon, all features will be released behind a feature flag. It’s a natural evolution in continuous delivery. CloudBees has led the way in feature flag technology, making it a core part of our overall offering,” said Sacha Labourey, CEO and co-founder, CloudBees. β€œWith this release, we are providing the same functionality for on-premise environments that previously had only been available as a cloud-based service. We are committed to the ongoing integration, automation and governance of feature flags within the software delivery lifecycle and giving users choice in selecting the best environment for their project – on-premise or cloud.”
    • CloudBees Feature Flags integrates with the company’s deep CI/CD capabilities, giving organizations the most comprehensive feature management capabilities in the software development life cycle (SDLC). The ability to use feature flagging in an on-premise environment also opens up new avenues for usage in industries, such as government, finance, pharmaceuticals, utilities and healthcare, where there can be a mix of on-premise and cloud environments.
    • β€œWe recognize that many companies are realizing the benefits of feature flags,” said Moritz Plassnig, senior vice president and general manager, Software Delivery Management and Software Delivery Automation Cloud at CloudBees. β€œBy flagging features, they no longer have to sacrifice innovation to lower risk. We felt that it was critical to offer this technology to any company working in on-premise or hybrid environments.”

CloudBees Accelerator

Jervis: Jenkins as a service

  • Jervis is Sam Gleske‘s vision of a good way to roll out Jenkins as a service in very large organizations.
  • SCM Filter Jervis YAML Plugin This plugin is intended for Jenkins infrastructure relying on jervis to deliver software in a self-service manner. This plugin can also be used for Travis CI YAML.

Jenkins X

Jenkins X is a specialized Jenkins for Kubernetes: This is how it works from a bird eye the CI/CD: a developer creates a branch, then Jenkins X creates a ephemeral namespace with that branch. The developer tests it and once it is ok, a PR is created, then, the branch is deployed in staging. When I merge it, it goes to QA, and with a manual command “jx promote” it goes to production. Jenkins X deletes automatically after N hours the branch namespace.

jenkins and openshift

jenkins hub CD