[Pulp-list] Jenkins pipeline integration

Dennis Kliban dkliban at redhat.com
Wed Jul 8 21:54:04 UTC 2020


There is no Jenkins plugin for Pulp. However, each plugin publishes a
Python client library to PyPI. I would recommend using those libraries to
publish content into Pulp. The documentation for the clients is not
currently published, but can be generated using the instruction for
generating a client library[0]. There is also a script that shows how to
use the clients[1].

The example scripts use bash because we wanted to provide examples that can
be executed from the command line. Once we have a working CLI, the examples
will be converted to that.

[0] https://docs.pulpproject.org/client_bindings.html#other-languages
[1] https://gist.github.com/dkliban/384e5a3c20005e777ef2a2fce9c2a6ba

On Tue, Jul 7, 2020 at 1:28 PM Tim Black <timblaktu at gmail.com> wrote:

> Anyone using pulp for artifact management with Jenkins Pipelines, aside
> from building and testing pulp project itself? I didn't find anything on
> the pulp mailing list archives about Jenkins integration (and the #pulp IRC
> channel has been a desert) and am looking for clarification and
> suggestions.
>
> I see in each plugin's Workflows documentation example bash scripts for
> doing the basic mechanics of creating and syncing repos, publishing and
> retrieving content, and I assume that's the intended starting point for
> newcomers like myself. I just wanted to confirm this and wondered if anyone
> knows of any prior work to wrap this up for easy integration into Jenkins
> pipelines, e.g. Groovy wrappers around your scripts.
>
> FWIW, my use case for pulp is to manage all intermediate and final
> artifacts generated by several Jenkins pipelines for complex embedded,
> desktop and web software projects. Our pipelines would be using the
> following content plugins to retrieve and/or publish all of the (versioned)
> artifacts that our pipelines build and/or use:
>
>    1. pulp-deb for .debs
>    2. pulp-python for python packages
>    3. pulp-container for Docker images
>    4. pulp-ansible for Ansible roles and collections
>    5. pulp-file for everything else (this is actually the majority of our
>    content)
>
> We will be using pulp to manage not only the "final" pipeline output, i.e.
> artifacts consumed by customers, but also intermediate build artifacts
> which are used as a sort of build cache to speed up our development
> process. Any other info or anecdotal reports related to these uses would be
> interesting to me.
>
> In case the above is not clear, what I'm looking for is the existence of
> anything like this
> <https://www.jfrog.com/confluence/display/JFROG/Jenkins+Artifactory+Plug-in>for
> pulp.
>
> Thanks,
> Tim Black
>
> p.s. I'm curious why the pulp devs chose to write the usage scripts in
> bash when the rest of their application was in python.
> _______________________________________________
> Pulp-list mailing list
> Pulp-list at redhat.com
> https://www.redhat.com/mailman/listinfo/pulp-list
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://listman.redhat.com/archives/pulp-list/attachments/20200708/9583cb77/attachment.htm>


More information about the Pulp-list mailing list