Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add a simple docker example based on the community docker image #591

Merged
merged 2 commits into from
Dec 17, 2021

Conversation

shadycuz
Copy link
Contributor

@shadycuz shadycuz commented Nov 18, 2021

This PR adds a simple docker example to the demo directory and closes #557.

I made the change to the project README.md in a separate commit so that is can easily be dropped or edited as the maintainers see fit. I just wanted to add the example, feel free to present it to users how ever you see fit.

I do think it's important to change how JFR is presented to users. There are several ways of running JFR currently.

  • You could run JFR locally by downlading/building the binary yourself.
  • You could run JFR locally by using the JFR docker image.
  • You could run JFR locally be turning the JFR docker image into a replica of the Jenkins you use in production.
  • You could run JFR locally by turning your production Jenkins docker image into a JFR.

I don't really think that the first 2 use cases will have lots of users. The third use case seems to be what most of the documentation in the Extending Docker section/readme is about and most of the demos. I think this is the reason I struggled to use this tool for so many years, because I was trying to turn my existing Jenkins image into a JFR and not turn the JFR into a copy of my existing Jenkins image.

Which is why I created this PR. I think the majority of users are wanting to take an existing Jenkins installation and make it run locally via CLI with JFR. I also think this will lower the burden on the JFR maintainers because JFR is actually kinda simple, at least compared to turning the JFR vanilla docker image into an exact replicate of each users Jenkins server. I think most of the issues and examples in the repo are about the Jenkins customization part because the documentation takes you down a path where you are turning the JFR docker image into Jenkins instead of the other way around.

My second point is that if you are going to start pushing the "convert Jenkins to a JFR" methodology. Then I highly recommend you standardize with the community Jenkins image. For example using the same file paths as they do for the war file, Jenkins home and plugins. Which I think can easily be done in #213 and would make it even easier for new users to get started with JFR and Docker. This also means all the customization of Jenkins would be pushed to the community Jenkins repo, which already is thoroughly documented and would allow for the JFR maintainers to worry about jdk versions, jbang etc and less about plugins, groovy init scripts and JCasC.

  • Make sure you are opening from a topic/feature/bugfix branch (right side) and not your main branch!
  • Ensure that the pull request title represents the desired changelog entry
  • Please describe what you did
  • Link to relevant issues in GitHub or Jira
  • Link to relevant pull requests, esp. upstream and downstream changes
  • Ensure you have provided tests - that demonstrates feature works or fixes the issue

@shadycuz shadycuz requested a review from a team as a code owner November 18, 2021 10:49
@oleg-nenashev oleg-nenashev added the documentation Documentation updates label Dec 17, 2021
Copy link
Member

@oleg-nenashev oleg-nenashev left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Sorry for missing it, and thanks a lot! this is a really good addition

@oleg-nenashev oleg-nenashev merged commit cfea62b into jenkinsci:master Dec 17, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
documentation Documentation updates
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Make Jenkinsfile Runner accessible for non-Java users
2 participants