I'd like to inventory the current development flows for unit testing, integration testing and release of Jenkinsfile and Pipeline DSL libraries.
I am guessing everyone's objective is to reach a level where a single "gradle" or "mvn" command runs all tests and deploys a new set of Jenkinsfile/Pipeline Libraries to production servers. There is a ticket open on this topic: https://issues.jenkins-ci.org/browse/JENKINS-33925 Here is what I have found so far: - The replay button in Jenkins - Not much of process here - https://github.com/lesfurets/JenkinsPipelineUnit - For unit testing - Uses mocking - Supports Jenkins Pipeline libraries - Usage example here: https://github.com/macg33zr/pipelineUnit - Not sure this covers plugin version compatibility - https://github.com/SpencerMalone/JenkinsPipelineIntegration - Unit and some Integration tests possible - Accounts for Jenkins version - Accounts for plugins and plugin versions - JenkinsRule approach - This is like writing tests for a Jenkins plugin - https://github.com/oleg-nenashev/demo-jenkins-config-as-code - Uses docker - Accounts for plugins - Not too sure how to use this one - Slides: Developing Pipeline Libraries Locally <https://speakerdeck.com/onenashev/jenkins-world-2017-developing-pipeline-libraries-locally> (I am guessing the video will be published) I am probably not giving these projects the full credit and description they deserve, feel free to comment and complete the list. I feel the objective is within reach, what do you think? Martin -- You received this message because you are subscribed to the Google Groups "Jenkins Users" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. To view this discussion on the web visit https://groups.google.com/d/msgid/jenkinsci-users/73ff120a-6c18-429e-a15b-33b1b8028977%40googlegroups.com. For more options, visit https://groups.google.com/d/optout.
