logo

GitOps+Jenkins-CI With Declarative Everything

2021-10-13

Authors:   Kingdon Barrett


Summary

The presentation discusses the use of Flux and Jenkins in DevOps and the importance of shortening the development loop. It also highlights the advanced features of Flux, such as image automation and disaster recovery.
  • Flux is a pull-based system that shortens the development loop and separates the jobs of CI and CD
  • Flagger makes deployment even safer
  • Image automation is a popular feature of Flux
  • Git repository is used for secrets and must be protected
  • Flux is great for disaster recovery
  • The presentation will show a hard thing at the Flux booth that solves a problem with image update automation
The speaker emphasizes the importance of shortening the development loop and how Flux's pull-based system helps achieve this. They also mention the advanced features of Flux, such as image automation, which made it popular. The speaker also highlights the importance of protecting Git repository secrets. They mention that the presentation will show a hard thing at the Flux booth that solves a problem with image update automation. Overall, the presentation focuses on the benefits of using Flux and Jenkins in DevOps and the advanced features of Flux.

Abstract

Flux is the incubating CNCF tool that ushered GitOps on to the scene, and Jenkins is the OG build machinery name-to-know for large enterprises. Learn to deploy Jenkins declaratively with Flux's Helm Controller, how to build an app repo with Jenkins for deployment with Flux, how to test a Helm chart with Helm Test through Flux's Flagger, and how to deploy new releases automatically with Flux’s Image Automation Controller and Helm controller. Declarative delivery with Helm and Kustomize does not require Jenkins to have direct access to the cluster; Flux runs as an agent inside a cluster and uses a pull-based model for delivery of apps, treating the git repository as a single source of truth. Configuration as code runs under the hood of an all-declarative Jenkins infrastructure from end to end, a declarative Jenkinsfile, pipeline for branches and PRs to build and push images. Flux is first configured to pull new image builds into a cluster, then Porter modernizes our image build process!

Materials: