Grape Support in workflow-plugin

70 views
Skip to first unread message

Wayne Warren

unread,
Jun 20, 2016, 7:32:41 PM6/20/16
to Jenkins Developers
So I am currently responsible for researching the viability of Jenkins 2.x as the pipelining technology for my organization. As a part of this work I am looking into ways to both share workflow libraries between different projects and allow those projects to opt-in to changes to that global configuration, ideally through some kind of versioning system. Two approaches seem likely to provide this functionality:

  • Define functions in a global workspace library that provide a simple way for individual projects to clone and load workflow libraries from external git repos with the option to choose specific versions of that library.
  • Use Grape to load groovy Maven dependencies on a per-project basis. This will enable a proper release model for workflow libraries as well as proper dependency management--for example, my organization's internal workflow library can depend on community workflow libraries released to public maven repositories and my organization can factor sharable portions of our workflow libraries for use by our community and customers.

It's probably obvious at this point that my bias is in favor of the latter approach. I found JENKINS-26192 which was closed as "Won't Do" but even given the discussion about obstacles and alternative approaches for the specific use case described there, I think it is worth considering this for the use case of sharing pipeline abstractions between projects and organizations. Let me know if there is anything I can clarify about my use case. I'm also willing to write up a new JIRA ticket describing my use case, but it seems like JENKINS-26192 could just be reopened.

Jesse Glick

unread,
Jun 21, 2016, 6:43:45 AM6/21/16
to Jenkins Dev

The use case is well known and a top priority for me to solve. Whether Grape is a viable solution is another matter entirely. Pipeline Groovy has significant technical oddities which make it impossible to simply adopt non-Pipeline-specific dependencies you might find in the repository, and Grape itself might prove impossible to run.

Wayne Warren

unread,
Jun 21, 2016, 10:52:01 AM6/21/16
to jenkin...@googlegroups.com
On Tue, Jun 21, 2016 at 3:43 AM, Jesse Glick <jgl...@cloudbees.com> wrote:

The use case is well known and a top priority for me to solve. Whether Grape is a viable solution is another matter entirely.

Fair enough, apologies for the prescriptive nature of my inquiry. Is there an existing JIRA ticket that I can follow to track progress on your work?

Pipeline Groovy has significant technical oddities which make it impossible to simply adopt non-Pipeline-specific dependencies you might find in the repository, and Grape itself might prove impossible to run.

--
You received this message because you are subscribed to a topic in the Google Groups "Jenkins Developers" group.
To unsubscribe from this topic, visit https://groups.google.com/d/topic/jenkinsci-dev/yxMj7QMdLN0/unsubscribe.
To unsubscribe from this group and all its topics, send an email to jenkinsci-de...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/jenkinsci-dev/CANfRfr0VyKm8CcJRbPNGkrZZDL8d4-wkY%3D7i7X8Ng%3DpzbnfGvA%40mail.gmail.com.

For more options, visit https://groups.google.com/d/optout.

Jesse Glick

unread,
Jun 21, 2016, 1:27:46 PM6/21/16
to Jenkins Dev
On Tue, Jun 21, 2016 at 10:51 AM, Wayne Warren <wa...@puppet.com> wrote:
> Is there
> an existing JIRA ticket that I can follow to track progress on your work?

JENKINS-31155
Reply all
Reply to author
Forward
0 new messages