2
votes

I am looking for possible solutions for maintaining Jenkins jobs and plugins configuration in Git. My motivation is easy (perhaps automated) backup of changes made on the Jenkins instance as well as a fast recovery in case I need to revert to a previous version of the configuration. (Or possibly set up a new Jenkins instance.)

I came across SCM Sync configuration plugin and Jenkins Job Builder and having a hard time figuring whether these solutions are suitable for me and what are the differences between them.

Any information to help me determine the differences and choose the appropriate fit for my needs?

1
AFAIK, the Job-Builder and so-called Job-DSL plugins are mostly obsolete. I say "mostly" because even though they continue to function, they use an older style of Jenkins jobs configured by lots of checkboxes. See new way at jenkins.io/doc/pipeline/tour/hello-world which describes using a more script-like Jenkinsfile method.MarkHu

1 Answers

5
votes

Maybe bit too late but I will still add an answer to get the ball rolling -

SCM: Its just a plug-in which keeps your Jenkins configuration in sync with config. files present in a repository; so as soon as you update you Jenkins configs. this plug-in can automatically check-in these changes to configured SCm.

JJB: It allows you to create Jenkins jobs in YAML or JSON format and uses them to configure Jenkins. The main benefit of JJB is templating, you can have a common template and create multiple Jenkins jobs from that template. In short it allows you to create Jenkins jobs programmatically.

there is another tool similar to JJB: Jenkins Job DSL Plugin

Here is a nice post explaiing and comapring JJB and DSL -

Jenkins Job Builder and Jenkins DSL Plugin compared. Part I: Jenkins Job Builder

Jenkins Job Builder and Jenkins DSL Plugin compared. Part II: Jenkins Job DSL Plugin