# Jenkinsfile Runner roadmap - Discussion

**URL:** <https://community.jenkins.io/t/jenkinsfile-runner-roadmap-discussion/583>\
**Category:** Jenkinsfile Runner\
**Created:** [October 19, 2021, 10:49am UTC](https://community.jenkins.io/t/jenkinsfile-runner-roadmap-discussion/583 "2021-10-19T10:49:01Z")\
**Posts on this page:** 6\
**Page:** 1

<div class="post-metadata">

**Author:** ![oleg-nenashev](https://dub1.discourse-cdn.com/flex013/user_avatar/community.jenkins.io/oleg-nenashev/32/36_2.png) [@oleg-nenashev](https://community.jenkins.io/u/oleg-nenashev)\
**Post date:** [October 19, 2021, 10:49am UTC](https://community.jenkins.io/t/jenkinsfile-runner-roadmap-discussion/583/1 "2021-10-19T10:49:01Z")

</div>

Hi all, as a follow-up to the Oct 09 Jenkins Contributor Summit, I have created a draft roadmap for Jenkinsfile Runner as a project. It includes various key initiatives in terms of features, infrastructure, community, etc. It is implemented as GitHub project for now. I would appreciate feedback about the format and contents

## Live roadmap

- [https://github.com/jenkinsci/jenkinsfile-runner/projects/1](https://github.com/jenkinsci/jenkinsfile-runner/projects/1)

## Screenshot

 ![image](https://europe1.discourse-cdn.com/flex013/uploads/jenkins/original/1X/c4ee7ddfed19a08d6548d361f2238396470cedf0.png)

## References

- Jenkinsfile Runner roadmap discussion at the Oct 09, 2021 contributor summit: [Jenkins Contributor Summit / Oct 02 and 09 - Coordination doc - Google Docs](https://docs.google.com/document/d/1QLWXNG23ui-LvQXth3UREzOvLYgTMSZcv-El0H141a4/edit#heading=h.ywqy0v70eb25)
- Jenkins project roadmap: [Jenkins Roadmap](https://www.jenkins.io/project/roadmap/)

---

<div class="post-metadata">

**Author:** ![oleg-nenashev](https://dub1.discourse-cdn.com/flex013/user_avatar/community.jenkins.io/oleg-nenashev/32/36_2.png) [@oleg-nenashev](https://community.jenkins.io/u/oleg-nenashev)\
**Post date:** [October 21, 2021, 11:03am UTC](https://community.jenkins.io/t/jenkinsfile-runner-roadmap-discussion/583/2 "2021-10-21T11:03:03Z")

</div>

I have added a few extra items based on feedback I have got from @shadycuz and a few other folks. Contributions are welcome!

---

<div class="post-metadata">

**Author:** ![rsvoboda](https://dub1.discourse-cdn.com/flex013/user_avatar/community.jenkins.io/rsvoboda/32/467_2.png) [@rsvoboda](https://community.jenkins.io/u/rsvoboda)\
**Post date:** [October 22, 2021, 6:25am UTC](https://community.jenkins.io/t/jenkinsfile-runner-roadmap-discussion/583/3 "2021-10-22T06:25:55Z")

</div>

Hi, I went through the items in [Jenkinsfile Runner Roadmap (Preview) · GitHub](https://github.com/jenkinsci/jenkinsfile-runner/projects/1) and have a few highlights

A) Mission definition

I miss the overall mission definition. Having the final goal described helps to have a discussion around the means to get to it.

Plus it can help to prioritize key efforts and to triage all the various ideas / enhancement proposals etc.

I know there is [GitHub - jenkinsci/jenkinsfile-runner: A command line tool to run Jenkinsfile as a function](https://github.com/jenkinsci/jenkinsfile-runner#use-cases) section. To mee it feels too high level, I would like to see a more detailed description of use-cases so that people coming to the project can get quick info about where to use it, what it can help with etc.

B) Target environments

Roadmap mentions enhancements around custom war creation, Tekton integration, Docker enhancements, GitHub actions support, JBang support.

A bit connected with the above point, the definition of must have + optional target environments for 1.0 release could help to keep the right focus.

Related to “make JFR accessible for non-Java users”, JReleaser could be reviewed, it has support for various distribution packages - [Binary :: JReleaser](https://jreleaser.org/guide/latest/distributions/binary.html)

C) Fast and easy to use

Work with JFR feels a bit heavy-weight, at least the initial setup of Jenkins war + plugins when the Docker image is not used.

Demo in [GitHub - jenkinsci/jenkinsfile-runner: A command line tool to run Jenkinsfile as a function](https://github.com/jenkinsci/jenkinsfile-runner#quick-demo) requires to build an image locally before running it, expects `make` friendly attitude of the users.

Newcomer experience isn’t “run and see”, but it’s “start the build, wait, run and see”. This should be imho improved.

This section is not just about the initial experience. Especially with FaaS context, there needs to be a push towards boot and runtime efficiency.

It can be handled in various aspects, starting with Jenkins related optimizations (slimmed down Jenkins?), prepackaging stuff like plugins, packaging into native binary.

Also depends if FaaS context gets prioritized in the mission definition for 1.0 release.

D) all in one bundle

To have a better user experience I would appreciate bundle(s) which I could just download (.zip, docker, .dmg?, .exe?) and use with my jenkins file without the need to create it on my own. I think [Image packs for standard toolchains · Issue #573 · jenkinsci/jenkinsfile-runner · GitHub](https://github.com/jenkinsci/jenkinsfile-runner/issues/573) goes this way, but for a good user experience, these packs should be available directly without the need to build them. it can be questioned for 1.0 release but wanted to mention this, especially with user experience in mind.

E) Timeline for roadmap goals

I miss information about the time frame for the items tracked in the roadmap.

Is 1.0 release going to be time-boxed or feature-boxed?

F) Java 17+ only?

This may be too optimistic, but why not base JFR on Java 17. This could be a good excuse to perform some codebase cleanup and it could attract people as the project would look modern / future-looking, and not stuck on Java 8.

Jenkins was mentioned in [The arrival of java 17! – Inside.java](https://inside.java/2021/09/14/the-arrival-of-java17/) as 17 early access builds participant 😉

---

<div class="post-metadata">

**Author:** ![oleg-nenashev](https://dub1.discourse-cdn.com/flex013/user_avatar/community.jenkins.io/oleg-nenashev/32/36_2.png) [@oleg-nenashev](https://community.jenkins.io/u/oleg-nenashev)\
**Post date:** [October 22, 2021, 9:47am UTC](https://community.jenkins.io/t/jenkinsfile-runner-roadmap-discussion/583/4 "2021-10-22T09:47:31Z")

</div>

> A) Mission definition

Agreed, an explicit manifesto is needed. Created [Jenkinsfile Runner manifesto · Issue #579 · jenkinsci/jenkinsfile-runner · GitHub](https://github.com/jenkinsci/jenkinsfile-runner/issues/579)

Basically I want Jenkinsfile runner to be a way to run Jenkins jobs in a portable way so that they do not require a constantly running Jenkins controller. We could briefly call it “Jenkins Anywhere: from your local computer to any SaaS”

> Target environments

Generally I would like to see Jenkinsfile Runner to be usable anywhere. In particular, all container environments and hosts that can run **a** JVM. Native images is rather wishful thinking at the moment, it is challenging for Jenkins Pipeline

> C) Fast and easy to use

Demo recording needs to be replaced once Docker images CD flow is redeployed. Many demos document running HFR in a container, but indeed a choice of GIF is not good for this matter

> D) all in one bundle

Agreed regarding image packs. Yes, they will be available as Docker images too

> E) Timeline for roadmap goals

I deliberately do not want to commit on any timeline in the roadmap. JFR is an open source project without major enterprise backing or commercial support at the moment. As volunteer, I do not want to make time commitments. Especially now when my personal time is stretched.

The Jenkins roadmap is the same FTR, see [Jenkins JEP-14](https://github.com/jenkinsci/jep/blob/6d56304734c7c2da962fd35ce44061eee467a4ca/jep/14/README.adoc#summary)

- We do not provide any target dates. Instead of that we provide 3 horizons: “Current”, “Near Term” and “Future”
- We do NOT commit on initiative delivery. Jenkins is a community-driven project, and the change will happen in areas where we have contributions. Initiatives in the roadmap may stop.

> Is 1.0 release going to be time-boxed or feature-boxed?

The latter. Basically I want to see several sizeable adoptions before 1.0 that would confirm that all major requirements are in place. No hurry with the 1.0 release

> F) Java 17+ only?

Might be. I would consider dropping Java 8 once Java 17 is fully supported in Jenkins

---

<div class="post-metadata">

**Author:** ![oleg-nenashev](https://dub1.discourse-cdn.com/flex013/user_avatar/community.jenkins.io/oleg-nenashev/32/36_2.png) [@oleg-nenashev](https://community.jenkins.io/u/oleg-nenashev)\
**Post date:** [October 26, 2021, 6:14am UTC](https://community.jenkins.io/t/jenkinsfile-runner-roadmap-discussion/583/5 "2021-10-26T06:14:15Z")

</div>

New pull request for the roadmap publishing: [Publish Jenkinsfile Runner roadmap by oleg-nenashev · Pull Request #583 · jenkinsci/jenkinsfile-runner · GitHub](https://github.com/jenkinsci/jenkinsfile-runner/pull/583)

I also added a few more issues based on consideration:

- [Deprecate Java 1.8 support · Issue #584 · jenkinsci/jenkinsfile-runner · GitHub](https://github.com/jenkinsci/jenkinsfile-runner/issues/584) as suggested by @rsvoboda
- [Build-time Jenkinsfile Runner initialization with Quarkus · Issue #585 · jenkinsci/jenkinsfile-runner · GitHub](https://github.com/jenkinsci/jenkinsfile-runner/issues/585) - clarifies the Quarkus use case we discussed at the contributor summit. Foundation for native images and Tekton integrations discussed with Andrea Frittoli
- [Observability with OpenTelemetry · Issue #586 · jenkinsci/jenkinsfile-runner · GitHub](https://github.com/jenkinsci/jenkinsfile-runner/issues/586) - Something from the top of my mind after discussing Observability in Jenkins, CC @cyrille-leclerc @Aki-7

---

<div class="post-metadata">

**Author:** ![shadycuz](https://dub1.discourse-cdn.com/flex013/user_avatar/community.jenkins.io/shadycuz/32/196_2.png) [@shadycuz](https://community.jenkins.io/u/shadycuz)\
**Post date:** [October 28, 2021, 5:53pm UTC](https://community.jenkins.io/t/jenkinsfile-runner-roadmap-discussion/583/6 "2021-10-28T17:53:25Z")

</div>

My next feature for DSTY - JSL is almost ready and then I will be spending some time trying to get a beginner friendly example PR submitted based on the Jenkins community docker hub image.

That should help with the ` Fast and easy to use`.
