I would like to upgrade my Jenkins version(From 2.60.2 to 2.121.1) and some of my plugins. Currently, there are some jobs configured in it. I know there are some configuration changes needed for jobs after upgrading the plugins. Is there any way to restore all the settings(data + conf + plugins) to the previous state if my updates went wrong.
2That's called a backup, and is the first warning in all and every upgrade documentation usually.– TensibaiJun 20, 2018 at 11:58
As Tensibai mentioned in the comment - better way is backup you Jenkins instance before an update
There are different ways to do this:
Jenkins has a lot of backup plugins, most popular is:
PeriodicBackup Plugin - be aware, has status
This plugin is up for adoption right now, that means there is can be lack of support
thinBackup Plugin - the same about current status of plugin
SCM Sync configuration plugin - see attention on the plugin page, this is deprecated plugin, the suggestion about migrate their jobs to Pipeline Plugin and use the Configuration as Code Plugin also make sense
All of them easy to use, also you can discovery any Jenkins plugin here
Your own solution
Jenkins has good structure for backup, it is not hard to understand what exactly you need to backup and how.
You can write script\job with simple steps
move to achieve backup of your Jenkins.
More information and discussion about how to backup jenkins can be found here: How do you back up Jenkins jobs & master configs?
As for me
Periodic Backup plugin + my own scripts for transfering backups into different places. But this plugin is not really stable and has opened issues, so i'm not recommend this for highload production use. That's fine for personal not-critical systems. Now I decided to migrate to my own solution with simple job to archive and copy all configs of my Jenkins instances.