Jenkins is the way to run the custom automation your project needs

Integrated Retail Product Systems

Submitted By Jenkins User Eriks Zelenka

Bringing a legacy system up-to-speed with the help of Jenkins.

Organization: UK Retailer

Industry:  Food  & Retail 

Programming Language: Python

Platform: Docker or Kubernetes, Linux

Version Control System: GitHub

Build Tool: Packer, Docker, PIP

Jenkins' rich plugin architecture supports
an enhanced CI/CD and development ease.

Background: For this retail giant, the main challenge was limited CI/CD options available for the project and the complexity and diversity of tasks that would need to be automated.

Goal:  Integrate old and new product management systems.

“Jenkins allowed us to achieve all our goals and satisfy all our needs. Its rich plugin ecosystem provides flexibility to run, schedule, and visualize any complex automation.”
Eriks Zelenka, Senior Devops Engineer, Floeberg Ltd

Solution & Results:  

The flexibility offered by Jenkins allowed us to create custom pipelines for all of our needs in the project, from building a Python application as a Docker image to the automation of the Kubernetes clusters creation, deletion, and updates. 

We leveraged Jenkins’ ability to run jobs in Kubernetes clusters dynamically and used Kubernetes secrets as credentials for Jenkins jobs. JCasC allowed us to declaratively source both of the pipelines and configure plugins and other aspects of the Jenkins deployments. 

As we used Flux CD, we automated Jenkins upgrades to keep it updated automatically. There were challenges with the approach of making changes in the plugin ecosystem, but it was fairly easy to resolve.

The key capabilities we relied on were:

  • Pipelines running in Kubernetes pods
  • Kubernetes secrets used as Jenkins credentials
  • JCasC
  • Scripted Jenkinsfile as pipeline definitions
  • Parallel run of some tasks
  • OSS helm chart to deploy and manage Jenkins in Flux GitOps setup
  • Ability to self-host CI/CD automation tool

Jenkins helped us:

  • Run very diverse tasks
  • Simplify configuration and updates via IaC and GitOps
  • Experience faster delivery by sharing code between multiple teams thanks to Jenkins JCasC and IaC

Like what you see? Share your Jenkins user story today.

Jenkins® is a CD Foundation project and a registered trademark of Software in the Public Interest, Inc. Copyright Jenkins 2020