On Fri, Apr 27, 2018 at 3:52 AM, nicolas de loof
<nicolas...@gmail.com> wrote:
> jenkinsfile-runner --config jenkins-dev.yaml
This sounds useful.
> I also have in mind another possible usage : one-shot jenkins masters -
> let's call this "serverless jenkins" for the buzzword.
>
> To avoid huge jenkins masters running thousand pipelines, we could rely on
> jenkinsfile-runner for pipeline execution, a front-end master being used for
> job configuration and web UI only. As a git event comes to jenkins
> infrastructure, a new serverless payload would be triggered (think : docker
> container running somewhere) to execute jenkinsfile-runner with adequate
> jenkins.yaml, so pipeline can run the same as if the front-end master had
> ran it by itself.
> […]
> On pipeline completion, jenkinsfile-runner would then publish the build
> status on front-end master (something comparable to buildpublisher-plugin).
This makes little sense to me. You still have the huge Jenkins master
rendering a web UI for thousands of pipelines,
and you still have all
the drawbacks of a build expressed in a weird DSL,
plus you have the
serious functional limitations of tools like Build Publisher,
plus you
have to set up a bunch of infrastructure to make the “one-shot” master
be able to provision or link to build agents
—unless it requires only
one node and no real interaction with anything else in the system, in
which case your Pipeline would better have been expressed as
node {
sh '. /thisjob/run.sh'
}
with the script and credentials coming from Kubernetes and there is no
need for any special runner.
As to avoiding Groovy sandboxing, this is best done in a different
way: by not using `workflow-cps`, and rather running the script in a
separate plain-Groovy process (yes, “serverless”) connecting to the
master for step implementations. Simpler, and far easier to migrate to
from existing configurations.
--
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-de...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/jenkinsci-dev/CANfRfr37wA%3DQUC5GTSBy4AgSFocM%3DD7NFFjsYyvYqgF9WNB71w%40mail.gmail.com.
For more options, visit https://groups.google.com/d/optout.
Part of this use-case is the ability to dry-run a pipeline, which is a larger topic than just jenkinsfile-runner, but the later could be part of this story. Typically, it could offer simple ways to switch environment / credentials so that pipeline runs with test resources, and not production ones. Typically, I would expect we can run something like this :
jenkinsfile-runner --config jenkins-dev.yaml
Doing so would setup the headless jenkins master with development-only credentials, and environment variables to rely on test resources (a local web server as deployment target for sample), while the actual CI/CD master would run the same on production infrastructure.
Right. Let's now consider this fronted is _not_ Jenkins but some UI which can expose build status ? Or maybe even no UI but just a GitHub commit status update ?
To unsubscribe from this group and stop receiving emails from it, send an email to jenkinsci-dev+unsubscribe@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/jenkinsci-dev/5aedacdb-0c9d-4d3b-9085-a605abae7a75%40googlegroups.com.
On Sat, Apr 28, 2018 at 2:46 AM, nicolas de loof
<nicolas...@gmail.com> wrote:
>> you still have all
>> the drawbacks of a build expressed in a weird DSL,
>
> Not my fault.
Obviously not; half mine. :-) My point is that the approach you are
describing does not do anything to help resolve that. Whereas we *do*
have some ideas for running the script out of process, which solves
the DSL/sandbox issues, and should not require drastic changes to the
overall user experience.
>> you have the
>> serious functional limitations of tools like Build Publisher
>
> Which in future I expect not to be required as build status, artifacts,
> logs... would be stored on some cloud-native storage and directly accessible
> without Jenkins in the middle to serve them.
Definitely we plan for that. This is not what I was talking about.
There is a gigantic long tail of Jenkins features (mostly plugins)
which would not work in a Build Publisher-like environment; some of
that could be fixed with a lot of labor, some probably not at all
short of a total redesign.
> 'stages' still make some sense for those interested in visualization
> or to spilt a huge build log into more focused sections.
Yes; independently of all this discussion, I would love to see Blue
Ocean support something like the Collapsing Console Sections plugin,
so you would not be forced to “escape” from your native build process
into Pipeline script merely to demarcate (at least linear) stage
boundaries. For example,
https://github.com/jenkinsci/docker-workflow-plugin/pull/105
could have collapsed four scripts into one, making the Pipeline script
considerably shorter (and the master load correspondingly a bit
lighter).
> probably not such
> a trivial think to implement and alternative workflow executor to replace
> CPS with a plain groovy runtime, is it ?
Not trivial at all, but I believe feasible.
--
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+unsubscribe@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/jenkinsci-dev/CANfRfr1eqa2a-9dzBkCwGibVgqyPHsb%2BGwxY0rJ3BmZU4eLCmw%40mail.gmail.com.
--
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-de...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/jenkinsci-dev/49cc7f1c-ca41-4bd7-b0bf-639d1a1c803c%40googlegroups.com.
2018-05-01 14:59 GMT+02:00 Jesse Glick <jgl...@cloudbees.com>:On Sat, Apr 28, 2018 at 2:46 AM, nicolas de loof
<nicola...@gmail.com> wrote:
> probably not such
> a trivial think to implement and alternative workflow executor to replace
> CPS with a plain groovy runtime, is it ?
Not trivial at all, but I believe feasible.ok, then when this becomes available we would be able to make jenkinsfile-runner way simpler :D