Yeah, there are many possible ways to go about something like this,
including what you described. That's why I'm trying to hear from Bill what
his world looks like. I can use some concrete data points like that.

On Fri, Mar 2, 2018 at 11:08 AM Jesse Glick <jgl...@cloudbees.com> wrote:

> On Fri, Mar 2, 2018 at 12:56 PM, Kohsuke Kawaguchi <k...@kohsuke.org> wrote:
> > well, though. Can you tell me more about this? I'm imagining you'd want
> to
> > be able to selectively mock out some steps (e.g., when Jenkinsfile gets
> to
> > sh "./deploy.sh" don't actually do it and pretend that it succeeded)
>
> One suggestion alluded to in JENKINS-33925 was to have a globally
> recognized “dry-run” flag (akin to `Main.isUnitTest` I suppose) that
> could be checked from various features in core or plugins, so that for
> example the `mail` step would know to just print out the mail it
> _would_ have sent without actually contacting an SMTP server.
>
> This would not help directly with your example above—since Jenkins
> would have no way of knowing whether `deploy.sh` actually had any
> externally visible effects, or was just a build command operating
> locally in the workspace—but perhaps in dry-run mode a special
> environment variable could be set for the whole build which would be
> visible to external processes, so your own script could include
> something like
>
> if [ "$DRY_RUN" -eq true ]
> then
>     echo "Would be deploying to ${SERVER}:"
>     ls -lR
>     exit
> fi
> # else proceed
>
> Not as flexible as the fine-grained mocking available (as I recall) in
> JenkinsPipelineUnit, but perhaps sufficient for many use cases.
>
> > This got me thinking that maybe all I needed was a Jenkins CLI command
> that
> > behind the scene creates a temporary/hidden job on the target Jenkins
> master
> > and run the Pipeline. IOW, keep the same development flow as Jenkinsfile
> > Runner today, but don't run Jenkins locally, just do it on your actual
> > Jenkins.
>
> Already exists (though it uses your real job). See for example
>
> https://jenkins.ci.cloudbees.com/cli/command/replay-pipeline
>
> --
> 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-dev+unsubscr...@googlegroups.com.
> To view this discussion on the web visit
> https://groups.google.com/d/msgid/jenkinsci-dev/CANfRfr03Mg5r5i-XxMi8TZH3uUE7ER1mox76VuA2mX-OiKciZA%40mail.gmail.com
> .
> For more options, visit https://groups.google.com/d/optout.
>
-- 
Kohsuke Kawaguchi

-- 
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-dev+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/jenkinsci-dev/CAN4CQ4xBAfGRMXX8yiryE%2B3zv5cdKAefa3L53jb6egjRCBZ14w%40mail.gmail.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to