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

Support custom command for Jenkins restart

    XMLWordPrintable

    Details

    • Similar Issues:

      Description

      If hudson.lifecycle.ExitLifecycle is selected, jenkins will exit when
      restart is requested. Exit code is taken out of
      jenkins.model.Jenkins.exitCodeOnRestart, default is 5.

      This is usable when there is an external watchdog such as SystemD.

      SystemD service example:

      ExecStart=@/usr/bin/java jenkins $JAVA_OPTIONS -DJENKINS_HOME=${JENKINS_HOME} -Dhudson.lifecycle=hudson.lifecycle.ExitLifecycle -Djenkins.model.Jenkins.exitCodeOnRestart=55 -jar $JENKINS_WAR --debug=${JENKINS_DEBUG_LEVEL} --httpPort=${JENKINS_PORT} --httpListenAddress=${JENKINS_LISTEN_ADDRESS} $JENKINS_ARGS
      

        Attachments

          Issue Links

            Activity

            alonbl Alon Bar-Lev created issue -
            danielbeck Daniel Beck made changes -
            Field Original Value New Value
            Link This issue is related to JENKINS-34254 [ JENKINS-34254 ]
            alonbl Alon Bar-Lev made changes -
            Remote Link This issue links to "Support restartCommand configuration (Web Link)" [ 17755 ]
            alonbl Alon Bar-Lev made changes -
            Remote Link This issue links to "Support exitOnRestart configuration (Web Link)" [ 17756 ]
            alonbl Alon Bar-Lev made changes -
            Labels core init-script patch
            alonbl Alon Bar-Lev made changes -
            Description Currently Jenkins tries to restart by fork/exec the argv[0].

            In systemd or any other watchdog environment this is not useful as process can exit normally and restarted by systemd.

            argv[0] is used only for eye catcher.

            For example:
            {code:java}
            ExecStart=@/usr/lib/jvm/jre-1.8.0/bin/java jenkins $JAVA_OPTIONS -DJENKINS_HOME=${JENKINS_HOME} -jar $JENKINS_WAR --debug=${JENKINS_DEBUG_LEVEL} --httpPort=${JENKINS_PORT} --httpListenAddress=${JENKINS_LISTEN_ADDRESS} $JENKINS_ARGS
            {code}
            Please consider adding an option to exit normally when restarted instead of executing a process.

            This should have some priority since the /exit URL command is not working.

            Thanks!

             
            If hudson.lifecycle.ExitLifecycle is selected, jenkins will exit when
            restart is requested. Exit code is taken out of
            jenkins.model.Jenkins.exitCodeOnRestart, default is 5.

            This is usable when there is an external watchdog such as SystemD.

            SystemD service example:

            {code}
            ExecStart=@/usr/bin/java jenkins $JAVA_OPTIONS -DJENKINS_HOME=${JENKINS_HOME} -Dhudson.lifecycle=hudson.lifecycle.ExitLifecycle -Djenkins.model.Jenkins.exitCodeOnRestart=55 -jar $JENKINS_WAR --debug=${JENKINS_DEBUG_LEVEL} --httpPort=${JENKINS_PORT} --httpListenAddress=${JENKINS_LISTEN_ADDRESS} $JENKINS_ARGS
            {code}
            oleg_nenashev Oleg Nenashev made changes -
            Status Open [ 1 ] Resolved [ 5 ]
            Resolution Fixed [ 1 ]

              People

              • Assignee:
                Unassigned
                Reporter:
                alonbl Alon Bar-Lev
              • Votes:
                0 Vote for this issue
                Watchers:
                4 Start watching this issue

                Dates

                • Created:
                  Updated:
                  Resolved: