Uploaded image for project: 'Jenkins'
  1. Jenkins
  2. JENKINS-49406

Design (JEP) the Evergreen snapshotting data safety system

    • Evergreen - Milestone 1

      I need to explore the idea suggested by sag47 of using a Git repository on-disk for checking in .xml.files before we run an upgrade process.

      In addition the approach should rollback if there is a failure, such as Jenkins failing to come up properly.

          [JENKINS-49406] Design (JEP) the Evergreen snapshotting data safety system

          R. Tyler Croy created issue -
          R. Tyler Croy made changes -
          Rank New: Ranked higher
          R. Tyler Croy made changes -
          Rank New: Ranked higher

          Sam Gleske added a comment - - edited

          Example from my Jenkins RPM package:

          That repository supports packaging Jenkins and plugins into multiple formats.

          ./gradlew buildRpm
          ./gradlew buildDeb
          ./gradlew buildTar
          #or package all three with ./gradlew packages
          
          #docker requires buildTar
          docker build -t jenkins .
          

          Additional notes

          • One of the challenges I discussed with rtyler was setting workspaces for jobs building on master outside of JENKINS_HOME. Otherwise, you encounter weird issues with Git repositories inside of other Git repositories when they're not submodules. In general, we know it's bad practice for people to build on the master but it still gets done.
          • The gitignore file I linked intentionally does not track secret.key or the secrets directory. The intention here is that secrets get backed up separately from the encrypted configuration. However, this may not matter to some organizations.
          • Eventually, I want to completely rewrite the service scripts I copied from jenkins-packaging.  Mainly because I have a different style of bash writing and will propose my changes back.

          Sam Gleske added a comment - - edited Example from my Jenkins RPM package: preUninstall.sh script running dailycommit.sh to save a copy of configuration before package upgrade . Example gitignore used for my JENKINS_HOME . Contents of dailycommit.sh . That repository supports packaging Jenkins and plugins into multiple formats. ./gradlew buildRpm ./gradlew buildDeb ./gradlew buildTar #or package all three with ./gradlew packages #docker requires buildTar docker build -t jenkins . Additional notes One of the challenges I discussed with rtyler was setting workspaces for jobs building on master outside of JENKINS_HOME. Otherwise, you encounter weird issues with Git repositories inside of other Git repositories when they're not submodules. In general, we know it's bad practice for people to build on the master but it still gets done. The gitignore file I linked intentionally does not track secret.key or the secrets directory. The intention here is that secrets get backed up separately from the encrypted configuration. However, this may not matter to some organizations. Eventually, I want to completely rewrite the service scripts I copied from jenkins-packaging.  Mainly because I have a different style of bash writing and will propose my changes back.
          R. Tyler Croy made changes -
          Component/s New: essentials [ 23457 ]
          Component/s Original: core [ 15593 ]

          R. Tyler Croy added a comment -

          I'm going to assign this to batmat. Feel free to spin up some separate tickets as necessary to explore additional avenues of experimentation.

          I would expect that the end-result of the prototype/experiment phase would be a JEP document.

          R. Tyler Croy added a comment - I'm going to assign this to batmat . Feel free to spin up some separate tickets as necessary to explore additional avenues of experimentation. I would expect that the end-result of the prototype/experiment phase would be a JEP document.
          R. Tyler Croy made changes -
          Assignee Original: R. Tyler Croy [ rtyler ] New: Baptiste Mathus [ batmat ]
          R. Tyler Croy made changes -
          Rank New: Ranked higher
          R. Tyler Croy made changes -
          Sprint New: Essentials - Milestone 1 [ 511 ]
          R. Tyler Croy made changes -
          Epic Link New: JENKINS-49844 [ 188828 ]

            batmat Baptiste Mathus
            rtyler R. Tyler Croy
            Votes:
            0 Vote for this issue
            Watchers:
            7 Start watching this issue

              Created:
              Updated:
              Resolved: