jreleaser is a free, open source orchestration & scheduling project written in Java and released under Apache-2.0. It has 1,246 GitHub stars, 162 forks and 127 open issues, and was last pushed 3 days ago. On this registry it ranks #89 of 130 tracked projects in Orchestration & Scheduling, with 5 head-to-head comparisons available. It gained 8 stars over the last 30 tracked days.

What is jreleaser?

JReleaser is an Apache-2.0 release automation tool for Java and non-Java projects that creates releases and publishes artifacts to multiple package managers, aimed at maintainers who want their build pipeline to run the release instead of doing it by hand.

What it is

JReleaser is a release automation tool written in Java and licensed under Apache-2.0. It lives in the JVM ecosystem, where it integrates with the build tools maintainers already use: Maven, Gradle, and Ant. Its stated goal is to simplify creating releases and publishing artifacts to multiple package managers while providing customizable options. The project is not limited to Java, however; the README and topic list name Go, Rust, Elixir, and C# among the languages it supports, and the registry lists csharp, rust, and elixir alongside java, maven, gradle, and ant as topics. Version 1.26.0 is the current documented release, and the tool is distributed through both Maven Central and the Gradle Plugin Portal.

The concrete problem it solves is the last mile of a software release. Cutting a version and pushing the resulting artifacts to several package managers is repetitive, error-prone, and usually handled by hand-written scripts or manual upload steps that differ from one project to the next. JReleaser replaces that ad-hoc release process with a single configurable tool that can run on a development machine or inside a CI/CD pipeline. A maintainer declares the release once and lets the tool handle creating the release and distributing artifacts, rather than orchestrating each package manager separately.

Key capabilities

  • Automates releases for Java projects and for non-Java projects including Go, Rust, Elixir, and C#.
  • Publishes artifacts to multiple package managers from a single release definition.
  • Ships as a Gradle plugin published under the plugin ID org.jreleaser on the Gradle Plugin Portal.
  • Publishes Maven artifacts; org.jreleaser:jreleaser-model-api is available on Maven Central at version 1.26.0.
  • Runs both on a development environment and on CI/CD systems.
  • Distributed as the Docker image jreleaser-slim for container-based execution.
  • Provides a command-line interface, listed as the cli topic.
  • Release artifacts carry verifiable supply-chain signals: SLSA Level 3, an OpenSSF Best Practices badge, an OpenSSF Scorecard, and a Reproducible Central artifact badge.

Who uses it and how

  • JVM maintainers using Maven, Gradle, or Ant who want the build to publish releases without custom scripting per project.
  • Maintainers of non-Java projects in Go, Rust, Elixir, or C# who want the same release automation that JVM projects get.
  • Teams running CI/CD pipelines, which the README names as a first-class place to install and run JReleaser.
  • Container-oriented builds that prefer the jreleaser-slim image over a locally installed binary.
  • Projects that need to distribute one release to several package managers at once instead of publishing to each separately.

Getting started

Install JReleaser on a development environment or on a CI/CD system, following the install guide linked from the README at https://jreleaser.org/guide/latest/install.html; versioned documentation for 1.26.0 is published at https://jreleaser.org/guide/latest. A jreleaser-slim Docker image is also published for container-based runs.

How it compares

No list of paid products that this project replaces was provided in the facts, and the facts name no direct alternative release automation tools. JReleaser therefore stands alone in this registry, with Maven, Gradle, and Ant appearing only as ecosystems it integrates with rather than as competing products.

When to use it — and when not to

Choose JReleaser if a project already builds with Maven, Gradle, or Ant and needs releases published to several package managers without hand-written glue, or if a non-Java project wants comparable automation. Be aware that the README excerpt does not document runtime dependencies such as a database or external services, so operational requirements must be confirmed from the linked guide before committing. The README is also thin on inline installation detail, the repository carries 127 open issues, and a self-hoster should expect to read the external documentation rather than the repository front page.

project readme (upstream, from github) — read inline

:linkattrs: :project-owner: jreleaser :project-name: jreleaser :project-group: org.jreleaser :project-artifactId: jreleaser-model-api :project-version: 1.26.0 :plugin-path: org/jreleaser :plugin-id: org.jreleaser

image::src/media/banner.png[JReleaser]


Release Java and non-Java projects quickly and easily with link:https://jreleaser.org[JReleaser]!

JReleaser is a release automation tool for Java and non-Java projects (Go, Rust, Elixir, C#, etc). Its goal is to simplify creating releases and publishing artifacts to multiple package managers while providing customizable options.

For questions, support and general discussion, please use link:https://github.com/jreleaser/jreleaser/discussions[GitHub Discussions].

== Badges

image:https://img.shields.io/github/actions/workflow/status/{project-owner}/{project-name}/early-access.yml?branch=main&logo=github&label=Build["Build Status", link="https://github.com/{project-owner}/{project-name}/actions"] image:https://bestpractices.coreinfrastructure.org/projects/6393/badge["OpenSSF Best Practices", link="https://bestpractices.coreinfrastructure.org/projects/6393"] image:https://img.shields.io/ossf-scorecard/github.com/{project-owner}/{project-name}?label=openssf%20scorecard["OpenSSF Scorecard", link="https://api.securityscorecards.dev/projects/github.com/{project-owner}/{project-name}"] image:https://slsa.dev/images/gh-badge-level3.svg["SLSA 3", link="https://slsa.dev"] image:https://img.shields.io/opencollective/all/{project-name}?logo=opencollective&logoColor=white["Open Collective backers and sponsors", link="https://opencollective.com/{project-name}"] image:https://img.shields.io/reproducible-central/artifact/{project-group}/jreleaser-model-api/{project-version}["Reproducible Central Artifact", link="https://github.com/jvm-repo-rebuild/reproducible-central/blob/master/content/org/jreleaser/README.md"]

image:https://img.shields.io/maven-central/v/{project-group}/{project-artifactId}?logo=apache%20maven[Download, link="https://search.maven.org/#search|ga|1|g:{project-group} AND a:{project-artifactId}"] image:https://img.shields.io/gradle-plugin-portal/v/{plugin-id}?logo=gradle["Gradle Plugin Portal", link="https://plugins.gradle.org/plugin/{plugin-id}"]

== Install

== Documentation

== Community

== Code of Conduct

This project adheres to a link:https://github.com/jreleaser/.github/blob/main/CODE_OF_CONDUCT.md[code of conduct]. By participating, you are expected to uphold this code. We appreciate your contribution. Please refer to our link:https://github.com/jreleaser/.github/blob/main/CONTRIBUTING.adoc[contributing guidelines] for further information.

== Downloads

image:https://img.shields.io/github/downloads/{project-owner}/{project-name}/total?logo=github["GitHub all releases", link="https://github.com/{project-owner}/{project-name}/releases"] image:https://img.shields.io/docker/pulls/{project-owner}/{project-owner}-slim?label={project-owner}-slim&logo=docker&logoColor=white["Docker Pulls {project-owner}-slim", link="https://hub.docker.com/r/{project-owner}/jreleaser-slim"] image:https://img.shields.io/docker/pulls/{project-owner}/{project-owner}-alpine?label={project-owner}-alpine&logo=docker&logoColor=white["Docker Pulls {project-owner}-alpine", link="https://hub.docker.com/r/{project-owner}/jreleaser-alpine"] image:https://img.shields.io/docker/pulls/{project-owner}/{project-owner}-ubi?label={project-owner}-ubi&logo=docker&logoColor=white["Docker Pulls {project-owner}-ubi", link="https://hub.docker.com/r/{project-owner}/jreleaser-ubi"] image:https://img.shields.io/flathub/downloads/org.jreleaser.cli?label=flathub&logo=flathub&logoColor=white[Flathub, link="https://github.com/flathub/org.jreleaser.cli"] image:https://img.shields.io/chocolatey/dt/{project-owner}?label=chocolatey&logo=chocolatey&logoColor=white[Chocolatey, link="https://community.chocolatey.org/packages/{project-owner}"] image:https://img.shields.io/github/downloads/{project-owner}/{project-name}-appimage/total?label=appimage&logo=linux&logoColor=white[AppImage, link="https://github.com/{project-owner}/{project-name}-appimage"] image:https://img.shields.io/homebrew/installs/dy/{project-name}?color=green&label=homebrew&logo=homebrew&logoColor=white[Homebrew, link="https://formulae.brew.sh/formula/{project-name}"] image:https://img.shields.io/visual-studio-marketplace/azure-devops/installs/total/JReleaser.jreleaser-azure-devops-extension?label=Azure%20Devops%20Extension["Azure Devops Extension", link="https://github.com/jreleaser/jreleaser-azure-devops-extension"]

== Code Health

image:https://img.shields.io/coverallsCoverage/github/{project-owner}/{project-name}?label=coveralls&logo=coveralls["Coveralls", link="https://coveralls.io/github/{project-owner}/{project-name}?branch=main"] image:https://img.shields.io/codecov/c/github/{project-owner}/{project-name}?label=codecov&logo=codecov&logoColor=white["Codecov", link="https://app.codecov.io/gh/{project-owner}/{project-name}"] image:https://sonarcloud.io/api/project_badges/measure?project=org_jreleaser_jreleaser&metric=security_rating[link="https://sonarcloud.io/summary/new_code?id=org_jreleaser_jreleaser"] image:https://img.shields.io/librariesio/github/{project-owner}/{project-name}?logo=libraries.io&logoColor=white["Libraries.io dependency status for GitHub repo", link="https://libraries.io/maven/{project-group}:{project-name}"]

== Build from source

See link:https://github.com/jreleaser/.github/blob/main/CONTRIBUTING.adoc[Contributing].

Frequently asked questions

Is jreleaser free to use?

jreleaser is open source under the Apache-2.0 licence. There is no licence fee and no seat count — you can self-host it or, where the project offers one, pay a vendor for a managed version instead.

What does jreleaser do?

:rocket: Release projects quickly and easily with JReleaser

What is jreleaser written in?

jreleaser is primarily written in Java. Its source is publicly available at https://github.com/jreleaser/jreleaser, and it has 1,246 GitHub stars.