/
Jenkins Configuration as code

Jenkins Configuration as code

Jenkins is the CI/CD tool that we use today.

Problem statement:

Jenkins maintainabliltiy:

  • Jenkins Installation/upgradation

  • Plugin installation/upgradation

Job Configuration:

  • Jobs are getting created manually in dev

  • Variable updates happen release on release

  • Every release we’ve to copy the job created/changed to the staging jenkins

  • Every GA release we’ve to cleanup entire jobs and publish to adopters

Proposed solution:

Run jenkins as a container in the machine, and mount the host volume (simplest)

Run jenkins in kubernetes cluster (so that automatically we can bring up clients for specific jobs, like for backup one set, deployment one set). This we’ll take as second step.

Keep Jenkins configuration in github, and use jenkins to update self ( via poll for change )

Tools / Methods available for CaC:

  1. Jenkins Configuration as Code
    https://www.jenkins.io/projects/jcasc/
    https://github.com/jenkinsci/configuration-as-code-plugin

  2. Use Ansible Module to update jenkins
    https://docs.ansible.com/ansible/latest/collections/community/general/jenkins_job_module.html

 

 

Related content

ArtifactUpload Jobs
ArtifactUpload Jobs
More like this
Load balancer Setup
Load balancer Setup
Read with this
Jenkins X and Tekton
Jenkins X and Tekton
More like this
Automated Build and Deploy - Initial Design
Automated Build and Deploy - Initial Design
More like this
Automated Build and Deploy
Automated Build and Deploy
More like this
Few Jenkins tweaks
Few Jenkins tweaks
More like this