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.
