Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Release your creations into the world with JReleaser! 🚀

Release your creations into the world with JReleaser! 🚀

As a developer, you’ve been getting dependencies and applications from places like Maven Central, Homebrew and Chocolatey. Have you ever wondered how you can add your own creations to those packagers and repositories? Wouldn’t that be cool?!? Anyone worldwide being able to install your CLI or use your library with the tools they already use?

In this talk, we’ll show you just how fast and easy it can be to do just that! We’ll show you practical examples, like sharing a CLI app through Homebrew or publishing your library on Maven Central while announcing it on social media, all using JReleaser! After this talk, you’ll have learned exactly what this free Open Source tool has to offer and you’ll know why we are so excited to tell you about it!

So strap on your jetpack and join us as we show you how to package, publish, release and announce your creations at the speed of light!

Maarten Mulders

October 03, 2023
Tweet

More Decks by Maarten Mulders

Other Decks in Technology

Transcript

  1. RELEASE YOUR CREATIONS INTO RELEASE YOUR CREATIONS INTO RELEASE YOUR

    CREATIONS INTO RELEASE YOUR CREATIONS INTO RELEASE YOUR CREATIONS INTO THE WORLD THE WORLD THE WORLD THE WORLD THE WORLD WITH JRELEASER! WITH JRELEASER! WITH JRELEASER! WITH JRELEASER! WITH JRELEASER! #jreleaser Maarten Mulders (@mthmulders) & Tom Cools (@tcoolsit)
  2. WHAT WE WILL COVER WHAT WE WILL COVER WHAT WE

    WILL COVER WHAT WE WILL COVER WHAT WE WILL COVER 1. What is JReleaser? 2. Release In Action (showing our releases in action) 3. Release Recipes (show other ideas of JReleaser use) #jreleaser Maarten Mulders (@mthmulders) & Tom Cools (@tcoolsit)
  3. WHAT IS JRELEASER? WHAT IS JRELEASER? WHAT IS JRELEASER? WHAT

    IS JRELEASER? WHAT IS JRELEASER? JReleaser is a release automation tool. “ “ “ “ “ The quick and effortless way to release your The quick and effortless way to release your The quick and effortless way to release your The quick and effortless way to release your The quick and effortless way to release your Java project Java project Java project Java project Java project #jreleaser Maarten Mulders (@mthmulders) & Tom Cools (@tcoolsit)
  4. WHO USES JRELEASER? Quarkus, JBang, JfrUnit, SDKMAN! and more! #jreleaser

    Maarten Mulders (@mthmulders) & Tom Cools (@tcoolsit)
  5. AppImage Asdf Chocolatey Docker Flatpak Go sh Homebrew JBang Jib

    Macports Scoop Sdkman Snap Spec Winget #jreleaser Maarten Mulders (@mthmulders) & Tom Cools (@tcoolsit)
  6. RELEASES IN ACTION RELEASES IN ACTION RELEASES IN ACTION RELEASES

    IN ACTION RELEASES IN ACTION #jreleaser Maarten Mulders (@mthmulders) & Tom Cools (@tcoolsit)
  7. PUBLISHING A NATIVE EXECUTABLE PUBLISHING A NATIVE EXECUTABLE PUBLISHING A

    NATIVE EXECUTABLE PUBLISHING A NATIVE EXECUTABLE PUBLISHING A NATIVE EXECUTABLE Building the executable (Maven + GraalVM) Packaging the distributions (Maven + JReleaser) Shipping the distributions (JReleaser) ⚙ Orchestrated with GitHub Actions #jreleaser Maarten Mulders (@mthmulders) & Tom Cools (@tcoolsit)
  8. PUBLISHING TO MAVEN CENTRAL PUBLISHING TO MAVEN CENTRAL PUBLISHING TO

    MAVEN CENTRAL PUBLISHING TO MAVEN CENTRAL PUBLISHING TO MAVEN CENTRAL Get access to the Sonatype Repo (JIRA) Follow the requirements #jreleaser Maarten Mulders (@mthmulders) & Tom Cools (@tcoolsit)
  9. MAVEN CENTRAL REQUIREMENTS MAVEN CENTRAL REQUIREMENTS MAVEN CENTRAL REQUIREMENTS MAVEN

    CENTRAL REQUIREMENTS MAVEN CENTRAL REQUIREMENTS Use correct coordinates (ex. be.tomcools) Javadoc and Sources must be provided Provide Checksum les (.md5/.sha1) Sign les with GPG/PGP #jreleaser Maarten Mulders (@mthmulders) & Tom Cools (@tcoolsit)
  10. JRELEASER RECIPES! JRELEASER RECIPES! JRELEASER RECIPES! JRELEASER RECIPES! JRELEASER RECIPES!

    #jreleaser Maarten Mulders (@mthmulders) & Tom Cools (@tcoolsit)
  11. ANNOUNCE WHAT YOU BUILT! ANNOUNCE WHAT YOU BUILT! ANNOUNCE WHAT

    YOU BUILT! ANNOUNCE WHAT YOU BUILT! ANNOUNCE WHAT YOU BUILT! announce: slack: active: ALWAYS token: ENV_TOKEN webhook: ENV_WEBHOOK channel: '#announce' message: ' {{projectVersion}} !' #jreleaser Maarten Mulders (@mthmulders) & Tom Cools (@tcoolsit)
  12. DOWNLOAD COMMON SOURCES DOWNLOAD COMMON SOURCES DOWNLOAD COMMON SOURCES DOWNLOAD

    COMMON SOURCES DOWNLOAD COMMON SOURCES download: http: app: active: ALWAYS assets: - input: 'https: tomcools.be/default.LICENSE' output: '{{projectName}}.LICENSE' #jreleaser Maarten Mulders (@mthmulders) & Tom Cools (@tcoolsit)
  13. IMPROVE SUPPLY CHAIN SECURITY IMPROVE SUPPLY CHAIN SECURITY IMPROVE SUPPLY

    CHAIN SECURITY IMPROVE SUPPLY CHAIN SECURITY IMPROVE SUPPLY CHAIN SECURITY catalog: slsa: active: ALWAYS attestationName: 'attest-{{projectName}}-{{projectVersion}}' upload: ftp: attestation upload: active: ALWAYS host: security.company.be username: ENV_USERNAME password: ENV_PASS path: 'uploads/{{projectName}}/{{artifactFile}}' #jreleaser Maarten Mulders (@mthmulders) & Tom Cools (@tcoolsit)
  14. CUSTOMIZE JRELEASER CUSTOMIZE JRELEASER CUSTOMIZE JRELEASER CUSTOMIZE JRELEASER CUSTOMIZE JRELEASER

    Hooks Extension points #jreleaser Maarten Mulders (@mthmulders) & Tom Cools (@tcoolsit)
  15. 1. What is JReleaser? 2. Release In Action (showing our

    releases in action) 3. Release Recipes (show other ideas of JReleaser use) #jreleaser Maarten Mulders (@mthmulders) & Tom Cools (@tcoolsit)
  16. BEFORE WE RELEASE BEFORE WE RELEASE BEFORE WE RELEASE BEFORE

    WE RELEASE BEFORE WE RELEASE YOU YOU YOU YOU YOU INTO THE INTO THE INTO THE INTO THE INTO THE ANTWERP EVENING... ANTWERP EVENING... ANTWERP EVENING... ANTWERP EVENING... ANTWERP EVENING... 1. No big bang migration needed 2. Look at existing projects 3. Automate the h*ck out of it (if it's hard, do it more often) #jreleaser Maarten Mulders (@mthmulders) & Tom Cools (@tcoolsit)
  17. REFERENCES & MORE INFORMATION REFERENCES & MORE INFORMATION REFERENCES &

    MORE INFORMATION REFERENCES & MORE INFORMATION REFERENCES & MORE INFORMATION DEMO PROJECTS FOLLOW US Spring Security Rickroll Starter Maven Central Search @tcoolsit @mthmulders “ “ “ “ “ How likely are you to recommend this talk to How likely are you to recommend this talk to How likely are you to recommend this talk to How likely are you to recommend this talk to How likely are you to recommend this talk to your friends & family? your friends & family? your friends & family? your friends & family? your friends & family? #jreleaser Maarten Mulders (@mthmulders) & Tom Cools (@tcoolsit)