Proposal: Detaching Git Server from Pipeline: Shared Groovy Libraries to a separate plugin

35 views
Skip to first unread message

Oleg Nenashev

unread,
Dec 11, 2019, 7:09:22 AM12/11/19
to JenkinsCI Developers, jenkins-pipelin...@googlegroups.com
Hi all,

I am an active user of Pipeline Shared Libraries which are currently defined in the Pipeline: Shared Groovy Libraries plugin. Historically the plugin was exposing a Git Server, and the code is still there and enabled by default (WorkflowLibRepository, WorkflowLibSshRepository, etc.). This mode makes the Git Server Plugin a hard requirement for Jenkins Pipeline, and it also causes startup overhead on Jenkins and Jenkinsfile Runner instances.

I doubt that the Git Server mode is popular at the moment, because now there is embedded SCM Source support and a LibraryResolver extension point which allows defining library sources as extensions. I would suggest to detach the Git Server mode to a separate plugin so that the majority of users do not depend on it.

What do I propose to do?
  • Git Server functionality is detached into a separate "Pipeline: Shared Library Git Server" plugin. It includes all the current codebase and retains the package names to retain the configuration/binary compatibility
  • New major version of "Pipeline: Shared Groovy Libraries" is released, the version is marked as incompatible
There are potential ways to do the change without formally breaking changes, e.g. via detaching the API side into uostream plugin instead of creating a separate plugin. But it causes a lot more overhead for plugin maintainers and instance maintainers who would have to cleanup the plugin sets on their own. IMHO in this case such effort is not justified.

Would appreciate any feedback.

Thanks in advance,
Oleg

Mark Waite

unread,
Dec 11, 2019, 7:14:09 AM12/11/19
to jenkinsci-dev, jenkins-pipelin...@googlegroups.com
That seems like a very good compromise to me. Reduce footprint for those that do not need it, and retain capabilities thru an extra plugin for those that need it

--
You received this message because you are subscribed to the Google Groups "Jenkins Developers" group.
To unsubscribe from this group and stop receiving emails from it, send an email to jenkinsci-de...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/jenkinsci-dev/CAPfivLC6purejJc7s_Cv5-1XNjEqbYboJr0QrSMriMhuZ6DUOw%40mail.gmail.com.

Jesse Glick

unread,
Dec 11, 2019, 1:21:32 PM12/11/19
to Jenkins Dev
On Wed, Dec 11, 2019 at 7:09 AM Oleg Nenashev <o.v.ne...@gmail.com> wrote:
> What do I propose to do?

Please use JENKINS-57023 for discussion.

Oleg Nenashev

unread,
Dec 11, 2019, 5:54:05 PM12/11/19
to Jenkins Developers
Thanks! I should have checked the bugtracker before the mailing list.
The suggestions are different, basically it boils down to the level of compatibility we want to retain

On Wednesday, December 11, 2019 at 7:21:32 PM UTC+1, Jesse Glick wrote:
Reply all
Reply to author
Forward
0 new messages