Details

    • Epic Name:
      Plugin Management tooling
    • Similar Issues:

      Description

      Jenkins does offer a web UI to manage plugin installation from a live master instance, but in many deployments administrator would like to control installed plugins by version and by tooling, before jenkins master starts.

      • docker official image provides an install-plugins.sh script which evolved far beyond its initial "help script" scope.
      • configuration-as-code implemented plugin installation hack based on PluginSite.Plugin#deploy. (Removed as of v1.8 of JCasC plugin)
      • open-source update center does expose plugins-version.json on casc request so one can manage versions for all hosted plugins, not just latest
      • custom war packager does support plugin installation on his own
      • jenkins evergreen does manage plugin installation based on updates from metadata server, using his own logic implemented by nodejs evergreen client.
      • jenkinsfile-runner does manage plugin installation implemented in Go
      • coreOS provides a groovy script to handle required plugins
      • cloudbees DEV@Cloud uses a set of Chef Ruby recipes for the same purpose
      • etc

       

      Everybody is re-inventing the wheel, partially implementing the "details" of plugin management (signed metadata, artifacts checksums, plugins detached from core, ...). It becomes obvious Jenkins should provide adequate tooling for plugin installation outside a live Jenkins instance. 

        Attachments

          Issue Links

            Activity

            ndeloof Nicolas De Loof created issue -
            batmat Baptiste Mathus made changes -
            Field Original Value New Value
            Description Jenkins do offer a web UI to manage plugin installation from a live master instance, but in many deployment administrator would like to control installed plugins by version and by tooling, before jenkins master starts.
             * docker official image provides an install-plugins.sh script which evolved far beyond it's initial "help script" scope.
             * configuration-as-code implemented plugin installation hack based on PluginSite.Plugin#deploy.
             * open-source update center do expose plugins-version.json on casc request so one can manage versions for all hosted plugins, not just latest
             * custom war packager do support plugin installation on his own
             * jenkins evergreen do manage plugin installation based on updates from metadata server, using his own logic implemented by nodejs evergreen client.
             * jenkinsfile-runner do manage plugin installation implemented in Go
             * coreOS provides a [groovy script|https://github.com/coreos/jenkins-os/blob/master/init.groovy] to handle required plugins
             * cloudbees DEV@Cloud uses a set of Chef Ruby recipes for the same purpose
             * etc

             

            Everybody is re-inventing the wheel, partially implementing the "details" of plugin management (signed metadata, artifacts checksums, plugins detached from core, ...). It becomes obvious Jenkins should provide adequate tooling for plugin installation _outside_ jenkins live instance. 
            Jenkins does offer a web UI to manage plugin installation from a live master instance, but in many deployments administrator would like to control installed plugins by version and by tooling, before jenkins master starts.
             * docker official image provides an install-plugins.sh script which evolved far beyond its initial "help script" scope.
             * configuration-as-code implemented plugin installation hack based on PluginSite.Plugin#deploy.
             * open-source update center does expose plugins-version.json on casc request so one can manage versions for all hosted plugins, not just latest
             * custom war packager does support plugin installation on his own
             * jenkins evergreen does manage plugin installation based on updates from metadata server, using his own logic implemented by nodejs evergreen client.
             * jenkinsfile-runner does manage plugin installation implemented in Go
             * coreOS provides a [groovy script|https://github.com/coreos/jenkins-os/blob/master/init.groovy] to handle required plugins
             * cloudbees DEV@Cloud uses a set of Chef Ruby recipes for the same purpose
             * etc

             

            Everybody is re-inventing the wheel, partially implementing the "details" of plugin management (signed metadata, artifacts checksums, plugins detached from core, ...). It becomes obvious Jenkins should provide adequate tooling for plugin installation _outside_ jenkins live instance. 
            jstrachan James Strachan made changes -
            Assignee James Strachan [ jstrachan ]
            jglick Jesse Glick made changes -
            Link This issue relates to JENKINS-51929 [ JENKINS-51929 ]
            jglick Jesse Glick made changes -
            Link This issue relates to JENKINS-53506 [ JENKINS-53506 ]
            oleg_nenashev Oleg Nenashev made changes -
            Assignee James Strachan [ jstrachan ]
            oleg_nenashev Oleg Nenashev made changes -
            Labels gsoc-2019-project-idea
            casz Joseph Petersen made changes -
            Description Jenkins does offer a web UI to manage plugin installation from a live master instance, but in many deployments administrator would like to control installed plugins by version and by tooling, before jenkins master starts.
             * docker official image provides an install-plugins.sh script which evolved far beyond its initial "help script" scope.
             * configuration-as-code implemented plugin installation hack based on PluginSite.Plugin#deploy.
             * open-source update center does expose plugins-version.json on casc request so one can manage versions for all hosted plugins, not just latest
             * custom war packager does support plugin installation on his own
             * jenkins evergreen does manage plugin installation based on updates from metadata server, using his own logic implemented by nodejs evergreen client.
             * jenkinsfile-runner does manage plugin installation implemented in Go
             * coreOS provides a [groovy script|https://github.com/coreos/jenkins-os/blob/master/init.groovy] to handle required plugins
             * cloudbees DEV@Cloud uses a set of Chef Ruby recipes for the same purpose
             * etc

             

            Everybody is re-inventing the wheel, partially implementing the "details" of plugin management (signed metadata, artifacts checksums, plugins detached from core, ...). It becomes obvious Jenkins should provide adequate tooling for plugin installation _outside_ jenkins live instance. 
            Jenkins does offer a web UI to manage plugin installation from a live master instance, but in many deployments administrator would like to control installed plugins by version and by tooling, before jenkins master starts.
             * docker official image provides an install-plugins.sh script which evolved far beyond its initial "help script" scope.
             * configuration-as-code implemented plugin installation hack based on PluginSite.Plugin#deploy. (Removed as of v1.8 of JCasC plugin)
             * open-source update center does expose plugins-version.json on casc request so one can manage versions for all hosted plugins, not just latest
             * custom war packager does support plugin installation on his own
             * jenkins evergreen does manage plugin installation based on updates from metadata server, using his own logic implemented by nodejs evergreen client.
             * jenkinsfile-runner does manage plugin installation implemented in Go
             * coreOS provides a [groovy script|https://github.com/coreos/jenkins-os/blob/master/init.groovy] to handle required plugins
             * cloudbees DEV@Cloud uses a set of Chef Ruby recipes for the same purpose
             * etc

             

            Everybody is re-inventing the wheel, partially implementing the "details" of plugin management (signed metadata, artifacts checksums, plugins detached from core, ...). It becomes obvious Jenkins should provide adequate tooling for plugin installation _outside_ jenkins live instance. 
            oleg_nenashev Oleg Nenashev made changes -
            Remote Link This issue links to "GSoC Project Idea (Web Link)" [ 22516 ]
            oleg_nenashev Oleg Nenashev made changes -
            Labels gsoc-2019-project-idea gsoc-2019 gsoc-2019-project-idea
            stopalopa Natasha Stopa made changes -
            Assignee Natasha Stopa [ stopalopa ]
            stopalopa Natasha Stopa made changes -
            Epic Child JENKINS-57672 [ 199605 ]
            stopalopa Natasha Stopa made changes -
            Epic Child JENKINS-57800 [ 199751 ]
            stopalopa Natasha Stopa made changes -
            Epic Child JENKINS-57849 [ 199807 ]
            stopalopa Natasha Stopa made changes -
            Epic Child JENKINS-57864 [ 199826 ]
            stopalopa Natasha Stopa made changes -
            Epic Child JENKINS-57865 [ 199827 ]
            stopalopa Natasha Stopa made changes -
            Epic Child JENKINS-57869 [ 199832 ]
            stopalopa Natasha Stopa made changes -
            Epic Child JENKINS-57977 [ 199961 ]
            stopalopa Natasha Stopa made changes -
            Epic Child JENKINS-58016 [ 200036 ]
            kwhetstone Kristin Whetstone made changes -
            Epic Child JENKINS-58075 [ 200099 ]
            stopalopa Natasha Stopa made changes -
            Epic Child JENKINS-58076 [ 200101 ]
            stopalopa Natasha Stopa made changes -
            Epic Child JENKINS-58078 [ 200103 ]
            stopalopa Natasha Stopa made changes -
            Epic Child JENKINS-58104 [ 200147 ]
            stopalopa Natasha Stopa made changes -
            Epic Child JENKINS-58107 [ 200150 ]
            stopalopa Natasha Stopa made changes -
            Epic Child JENKINS-58121 [ 200166 ]
            stopalopa Natasha Stopa made changes -
            Epic Child JENKINS-58123 [ 200168 ]
            stopalopa Natasha Stopa made changes -
            Epic Child JENKINS-58126 [ 200171 ]
            stopalopa Natasha Stopa made changes -
            Epic Child JENKINS-58127 [ 200172 ]
            stopalopa Natasha Stopa made changes -
            Epic Child JENKINS-58128 [ 200173 ]
            stopalopa Natasha Stopa made changes -
            Epic Child JENKINS-58129 [ 200174 ]
            stopalopa Natasha Stopa made changes -
            Epic Child JENKINS-58147 [ 200192 ]
            stopalopa Natasha Stopa made changes -
            Epic Child JENKINS-58176 [ 200227 ]
            stopalopa Natasha Stopa made changes -
            Epic Child JENKINS-58191 [ 200246 ]
            stopalopa Natasha Stopa made changes -
            Epic Child JENKINS-58199 [ 200255 ]
            stopalopa Natasha Stopa made changes -
            Epic Child JENKINS-58206 [ 200265 ]
            stopalopa Natasha Stopa made changes -
            Epic Child JENKINS-58216 [ 200276 ]
            stopalopa Natasha Stopa made changes -
            Epic Child JENKINS-58217 [ 200277 ]
            stopalopa Natasha Stopa made changes -
            Epic Child JENKINS-58226 [ 200286 ]
            stopalopa Natasha Stopa made changes -
            Description Jenkins does offer a web UI to manage plugin installation from a live master instance, but in many deployments administrator would like to control installed plugins by version and by tooling, before jenkins master starts.
             * docker official image provides an install-plugins.sh script which evolved far beyond its initial "help script" scope.
             * configuration-as-code implemented plugin installation hack based on PluginSite.Plugin#deploy. (Removed as of v1.8 of JCasC plugin)
             * open-source update center does expose plugins-version.json on casc request so one can manage versions for all hosted plugins, not just latest
             * custom war packager does support plugin installation on his own
             * jenkins evergreen does manage plugin installation based on updates from metadata server, using his own logic implemented by nodejs evergreen client.
             * jenkinsfile-runner does manage plugin installation implemented in Go
             * coreOS provides a [groovy script|https://github.com/coreos/jenkins-os/blob/master/init.groovy] to handle required plugins
             * cloudbees DEV@Cloud uses a set of Chef Ruby recipes for the same purpose
             * etc

             

            Everybody is re-inventing the wheel, partially implementing the "details" of plugin management (signed metadata, artifacts checksums, plugins detached from core, ...). It becomes obvious Jenkins should provide adequate tooling for plugin installation _outside_ jenkins live instance. 
            Jenkins does offer a web UI to manage plugin installation from a live master instance, but in many deployments administrator would like to control installed plugins by version and by tooling, before jenkins master starts.
             * docker official image provides an install-plugins.sh script which evolved far beyond its initial "help script" scope.
             * configuration-as-code implemented plugin installation hack based on PluginSite.Plugin#deploy. (Removed as of v1.8 of JCasC plugin)
             * open-source update center does expose plugins-version.json on casc request so one can manage versions for all hosted plugins, not just latest
             * custom war packager does support plugin installation on his own
             * jenkins evergreen does manage plugin installation based on updates from metadata server, using his own logic implemented by nodejs evergreen client.
             * jenkinsfile-runner does manage plugin installation implemented in Go
             * coreOS provides a [groovy script|https://github.com/coreos/jenkins-os/blob/master/init.groovy] to handle required plugins
             * cloudbees DEV@Cloud uses a set of Chef Ruby recipes for the same purpose
             * etc

             

            Everybody is re-inventing the wheel, partially implementing the "details" of plugin management (signed metadata, artifacts checksums, plugins detached from core, ...). It becomes obvious Jenkins should provide adequate tooling for plugin installation _outside_ a live Jenkins instance. 
            stopalopa Natasha Stopa made changes -
            Epic Child JENKINS-58228 [ 200288 ]
            stopalopa Natasha Stopa made changes -
            Epic Child JENKINS-58229 [ 200289 ]
            stopalopa Natasha Stopa made changes -
            Epic Child INFRA-2162 [ 200290 ]
            stopalopa Natasha Stopa made changes -
            Epic Child JENKINS-58242 [ 200305 ]
            stopalopa Natasha Stopa made changes -
            Epic Child JENKINS-58304 [ 200412 ]
            stopalopa Natasha Stopa made changes -
            Epic Child JENKINS-58308 [ 200416 ]
            kwhetstone Kristin Whetstone made changes -
            Epic Child JENKINS-58350 [ 200465 ]
            stopalopa Natasha Stopa made changes -
            Epic Child JENKINS-58389 [ 200513 ]
            stopalopa Natasha Stopa made changes -
            Epic Child JENKINS-58452 [ 200585 ]
            stopalopa Natasha Stopa made changes -
            Epic Child JENKINS-58478 [ 200614 ]
            stopalopa Natasha Stopa made changes -
            Epic Child JENKINS-58537 [ 200686 ]
            stopalopa Natasha Stopa made changes -
            Epic Child JENKINS-58539 [ 200688 ]
            stopalopa Natasha Stopa made changes -
            Epic Child JENKINS-58608 [ 200769 ]
            stopalopa Natasha Stopa made changes -
            Epic Child JENKINS-58622 [ 200788 ]
            stopalopa Natasha Stopa made changes -
            Epic Child JENKINS-58649 [ 200922 ]
            stopalopa Natasha Stopa made changes -
            Epic Child JENKINS-58652 [ 200932 ]
            stopalopa Natasha Stopa made changes -
            Epic Child JENKINS-58713 [ 201005 ]
            stopalopa Natasha Stopa made changes -
            Epic Child JENKINS-58775 [ 201081 ]
            stopalopa Natasha Stopa made changes -
            Epic Child JENKINS-58821 [ 201133 ]
            stopalopa Natasha Stopa made changes -
            Epic Child JENKINS-58870 [ 201188 ]
            stopalopa Natasha Stopa made changes -
            Epic Child JENKINS-59036 [ 201390 ]
            stopalopa Natasha Stopa made changes -
            Epic Child JENKINS-59042 [ 201396 ]
            stopalopa Natasha Stopa made changes -
            Epic Child JENKINS-59060 [ 201418 ]
            stopalopa Natasha Stopa made changes -
            Epic Child JENKINS-59066 [ 201446 ]
            stopalopa Natasha Stopa made changes -
            Epic Child JENKINS-59148 [ 201583 ]
            stopalopa Natasha Stopa made changes -
            Epic Child JENKINS-59173 [ 201610 ]

              People

              • Assignee:
                stopalopa Natasha Stopa
                Reporter:
                ndeloof Nicolas De Loof
              • Votes:
                8 Vote for this issue
                Watchers:
                17 Start watching this issue

                Dates

                • Created:
                  Updated: