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 <[email protected]> wrote:

> On Fri, Mar 2, 2018 at 12:56 PM, Kohsuke Kawaguchi <[email protected]> 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 [email protected].
> 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 [email protected].
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