I am currently working on backing up our Jenkins system. The ThinBackup plugin seemed perfect as it allows us to do weekly backups. To ensure that the backups are working correctly I am attempting to test a recently created backup. I am doing this by assigning an environment variable "JENKINS_HOME" to the location of the backup, then starting Jenkins as I would normally. I have no issue if I assign JENKINS_HOME to the current working Jenkins directory.

      When I assign it to the backup directory instead, I get a page of errors starting with "hudson.util.HudsonFailedToLoad: org.jvnet.hudson.reactor.ReactorException: java.io.IOException: Unable to read C:\Jenkins\Backup\FULL-2015-09-13_00-00\config.xml
      at hudson.WebAppMain$3.run(WebAppMain.java:237)"
      A possibly important part of the cascading error messages is "Caused by: jenkins.util.xstream.CriticalXStreamException: hudson.plugins.active_directory.ActiveDirectorySecurityRealm : hudson.plugins.active_directory.ActiveDirectorySecurityRealm"

      Which seems to talk about a hudson plugin for ActiveDirectorySecurityRealm.

      When examining further, it appears that some of the plugins are not being moved over when the backup is happening. There appears to be no configuration option to select this behavior. There is no information in the documentation about some plugins being backed up and others not being backed up. As far as I can tell, this is a feature that is not working correctly.

      As these plugins are key to my Jenkins configuration and implementation, this is a major bug and will probably prevent me from being able to use this plugin without an update.

      After a bit more testing, I am able to copy the active-directory folder and .jpi from the production folder over to the backup and the system will start Jenkins but many of the other plugins appear to be missing. Notably, the ThinBackup plug is no longer under the "manage Jenkins" link.

      I may be able to create a workaround where I just copy all of the jobs manually but this defeats the purpose of using a backup plugin. Also there is no way (that I know of) to make sure both the plugin-based backup and my workaround happen at the same time of the day which is important to maintaining backups.

      I have included pictures of the ThinBackup configuration, the beginning of the large page of errors, and the two plugin folders side by side. (NOTE: some of the plugins on the production server (right side) may no longer be used. This is the test server where we test Jenkins changes before pushing them to a production server and as such there are some plugins that get tested but are then removed.)

          [JENKINS-30472] Testing Backup Created by ThinBackup Fails.

          Cal Barkman added a comment -

          For reference here is a list of all the plugins I have installed.

          Active Directory plugin
          This plugin enables authentication through Active Directory on Windows environment.
          1.41

          Ant Plugin
          This plugin adds Apache Ant support to Jenkins.
          1.2

          Build Pipeline Plugin
          This plugin renders upstream and downstream connected jobs that typically form a build pipeline. In addition, it offers the ability to define manual triggers for jobs that require intervention prior to execution, e.g. an approval process outside of Jenkins.
          1.4.8

          build timeout plugin
          This plugin allows builds to be automatically terminated after the specified amount of time has elapsed.
          1.15

          ChuckNorris Plugin
          ChuckNorris plugin displays a picture of Chuck Norris (instead of Jenkins the butler) and a random Chuck Norris 'The Programmer' fact on each build page.
          0.5

          ClearCase Plug-in
          This plugin makes it possible to retrieve files from a ClearCase SCM using a configspec.
          1.6

          Credentials Plugin
          This plugin allows you to store credentials in Jenkins.
          1.23

          CVS Plug-in
          Integrates Jenkins with CVS version control system using a modified version of the Netbeans cvsclient.
          2.12

          Email Extension Plugin
          This plugin is a replacement for Jenkins's email publisher
          2.40.5

          Environment Injector Plugin
          This plugin makes it possible to set an environment for the builds.
          1.92.1

          External Monitor Job Type Plugin
          Adds the ability to monitor the result of externally executed jobs.
          1.4

          Filesystem Trigger Plug-in
          The plug-in makes it possible to monitor changes of a file or a set of files in a folder.
          0.39

          Groovy
          This plugin executes Groovy code.
          1.27

          Groovy Postbuild
          Groovy postbuild task.
          2.2.1

          Hudson global-build-stats plugin
          This plugin will allow you to manage global hudson build stats concerning build failures
          1.3

          Javadoc Plugin
          This plugin adds Javadoc support to Jenkins.
          1.3

          Job Configuration History Plugin
          Job history plugin for Jenkins.
          2.12

          jQuery plugin
          This allows other plugins to use jQuery in UI.
          1.11.2-0

          JUnit Plugin
          Allows JUnit-format test results to be published.
          1.9

          LDAP Plugin
          Adds LDAP authentication to Jenkins
          1.11

          Mailer Plugin
          This plugin allows you to configure email notifications. This is a break-out of the original core based email component.
          1.15

          MapDB API Plugin
          This plugin provides a shared dependency on the MapDB library so that other plugins can co-operate when using this library.
          1.0.6.0

          Matrix Authorization Strategy Plugin
          Offers matrix-based security authorization strategies (global and per-project).
          1.2

          Matrix Project Plugin
          Multi-configuration (matrix) project type.
          1.6

          Maven Integration plugin
          Jenkins plugin for building Maven 2/3 jobs via a special project type.
          2.12

          Monitoring
          Jenkins' monitoring with JavaMelody. Open report after installation.
          1.57.0

          Naginator
          This plugin reschedules failed jobs.
          1.15

          OWASP Markup Formatter Plugin
          Uses the OWASP Java HTML Sanitizer to allow safe-seeming HTML markup to be entered in project descriptions and the like.
          1.3

          PAM Authentication plugin
          Adds Unix Pluggable Authentication Module (PAM) support to Jenkins.
          1.2

          Parameterized Trigger plugin
          This plugin lets you trigger new builds when your build has completed, with various ways of specifying parameters for the new build.
          2.28

          Persona Plugin
          Define custom personalities like Chuck Norris just by preparing an XML file and a few image files.
          2.4

          pyenv plugin
          This plugin runs your jobs in the pyenv
          0.0.7

          Python Plugin
          Adds the ability to execute python scripts as build steps.
          1.2

          ruby-runtime
          Provides the Ruby runtime and bindings required to implement plugins in Ruby.
          0.12

          SCM API Plugin
          This plugin provides a new enhanced API for interacting with SCM systems.
          0.2

          Script Security Plugin
          Allows Jenkins administrators to control what in-process scripts can be run by less-privileged users.
          1.15

          SSH Credentials Plugin
          This plugin allows you to store SSH credentials in Jenkins.
          1.11

          SSH Slaves plugin
          This plugin allows you to manage slaves running on *nix machines over SSH.
          1.10

          Static Analysis Utilities
          This plug-in provides utilities for the static code analysis plug-ins.
          If you like this open source plug-in please consider supporting my work by buying my Android game Inca Trails.
          1.74

          Subversion Plug-in
          This plugin adds the Subversion support (via SVNKit) to Jenkins.
          2.5.3

          Task Scanner Plug-in
          This plug-in scans for open tasks in a specified set of files in the project modules and visualizes the results.
          If you like this open source plug-in please consider supporting my work by buying my Android game Inca Trails.
          4.46

          ThinBackup
          This plugin simply backs up the global and job specific configurations (not the archive or the workspace).
          1.7.4

          Token Macro Plugin
          This plug-in adds reusable macro expansion capability for other plug-ins to use.
          1.10

          Translation Assistance plugin
          This plugin adds an additional dialog box in every page, which enables people to contribute localizations for the messages they are seeing in the current page.
          1.12

          Windows Slaves Plugin
          Allows you to connect to Windows machines and start slave agents on them.
          1.1

          Cal Barkman added a comment - For reference here is a list of all the plugins I have installed. Active Directory plugin This plugin enables authentication through Active Directory on Windows environment. 1.41 Ant Plugin This plugin adds Apache Ant support to Jenkins. 1.2 Build Pipeline Plugin This plugin renders upstream and downstream connected jobs that typically form a build pipeline. In addition, it offers the ability to define manual triggers for jobs that require intervention prior to execution, e.g. an approval process outside of Jenkins. 1.4.8 build timeout plugin This plugin allows builds to be automatically terminated after the specified amount of time has elapsed. 1.15 ChuckNorris Plugin ChuckNorris plugin displays a picture of Chuck Norris (instead of Jenkins the butler) and a random Chuck Norris 'The Programmer' fact on each build page. 0.5 ClearCase Plug-in This plugin makes it possible to retrieve files from a ClearCase SCM using a configspec. 1.6 Credentials Plugin This plugin allows you to store credentials in Jenkins. 1.23 CVS Plug-in Integrates Jenkins with CVS version control system using a modified version of the Netbeans cvsclient. 2.12 Email Extension Plugin This plugin is a replacement for Jenkins's email publisher 2.40.5 Environment Injector Plugin This plugin makes it possible to set an environment for the builds. 1.92.1 External Monitor Job Type Plugin Adds the ability to monitor the result of externally executed jobs. 1.4 Filesystem Trigger Plug-in The plug-in makes it possible to monitor changes of a file or a set of files in a folder. 0.39 Groovy This plugin executes Groovy code. 1.27 Groovy Postbuild Groovy postbuild task. 2.2.1 Hudson global-build-stats plugin This plugin will allow you to manage global hudson build stats concerning build failures 1.3 Javadoc Plugin This plugin adds Javadoc support to Jenkins. 1.3 Job Configuration History Plugin Job history plugin for Jenkins. 2.12 jQuery plugin This allows other plugins to use jQuery in UI. 1.11.2-0 JUnit Plugin Allows JUnit-format test results to be published. 1.9 LDAP Plugin Adds LDAP authentication to Jenkins 1.11 Mailer Plugin This plugin allows you to configure email notifications. This is a break-out of the original core based email component. 1.15 MapDB API Plugin This plugin provides a shared dependency on the MapDB library so that other plugins can co-operate when using this library. 1.0.6.0 Matrix Authorization Strategy Plugin Offers matrix-based security authorization strategies (global and per-project). 1.2 Matrix Project Plugin Multi-configuration (matrix) project type. 1.6 Maven Integration plugin Jenkins plugin for building Maven 2/3 jobs via a special project type. 2.12 Monitoring Jenkins' monitoring with JavaMelody. Open report after installation. 1.57.0 Naginator This plugin reschedules failed jobs. 1.15 OWASP Markup Formatter Plugin Uses the OWASP Java HTML Sanitizer to allow safe-seeming HTML markup to be entered in project descriptions and the like. 1.3 PAM Authentication plugin Adds Unix Pluggable Authentication Module (PAM) support to Jenkins. 1.2 Parameterized Trigger plugin This plugin lets you trigger new builds when your build has completed, with various ways of specifying parameters for the new build. 2.28 Persona Plugin Define custom personalities like Chuck Norris just by preparing an XML file and a few image files. 2.4 pyenv plugin This plugin runs your jobs in the pyenv 0.0.7 Python Plugin Adds the ability to execute python scripts as build steps. 1.2 ruby-runtime Provides the Ruby runtime and bindings required to implement plugins in Ruby. 0.12 SCM API Plugin This plugin provides a new enhanced API for interacting with SCM systems. 0.2 Script Security Plugin Allows Jenkins administrators to control what in-process scripts can be run by less-privileged users. 1.15 SSH Credentials Plugin This plugin allows you to store SSH credentials in Jenkins. 1.11 SSH Slaves plugin This plugin allows you to manage slaves running on *nix machines over SSH. 1.10 Static Analysis Utilities This plug-in provides utilities for the static code analysis plug-ins. If you like this open source plug-in please consider supporting my work by buying my Android game Inca Trails. 1.74 Subversion Plug-in This plugin adds the Subversion support (via SVNKit) to Jenkins. 2.5.3 Task Scanner Plug-in This plug-in scans for open tasks in a specified set of files in the project modules and visualizes the results. If you like this open source plug-in please consider supporting my work by buying my Android game Inca Trails. 4.46 ThinBackup This plugin simply backs up the global and job specific configurations (not the archive or the workspace). 1.7.4 Token Macro Plugin This plug-in adds reusable macro expansion capability for other plug-ins to use. 1.10 Translation Assistance plugin This plugin adds an additional dialog box in every page, which enables people to contribute localizations for the messages they are seeing in the current page. 1.12 Windows Slaves Plugin Allows you to connect to Windows machines and start slave agents on them. 1.1

          Cal Barkman added a comment -

          Made a change to the problem description, accidentally had a statement that said not for both options instead of not for only one.

          Cal Barkman added a comment - Made a change to the problem description, accidentally had a statement that said not for both options instead of not for only one.

            Unassigned Unassigned
            nahallacman Cal Barkman
            Votes:
            1 Vote for this issue
            Watchers:
            1 Start watching this issue

              Created:
              Updated: