Files
jreleaser.github.io/docs/modules/ROOT/pages/index.adoc
2021-05-30 23:26:17 +02:00

51 lines
2.4 KiB
Plaintext

= JReleaser
JReleaser is a release automation tool for Java projects. Its goal is to simplify creating releases and publishing artifacts
to multiple package managers while providing customizable options.
== What it does
JReleaser takes inputs from popular builds tools (Ant, Maven, Gradle) such as JAR files, binary distributions
(`.zip`, `.tar`), JLink images, or any other file that you'd like to publish as a Git release on popular Git services
such as GitHub, GitLab, or Gitea. Distribution files can additionally be published to be consumed by popular package managers
as Homebrew, Snapcraft, Scoop, or get ready to be launched via Jbang. Releases may be announced in a variety of channels such
as Twitter, Zulip, SdkMan!, and others. Have a look at the listed xref:integrations.adoc[integrations].
image::jreleaser-tools.png[]
== How does it work
A release process can be customized with a `jreleaser.[yml|toml|json]` file if using the xref:tools:jreleaser-cli.adoc[CLI] or
xref:tools:jreleaser-ant.adoc[Ant] options, or direct DSL configuration inside a `pom.xml` (xref:tools:jreleaser-maven.adoc[Maven]) or
`build.gradle` (xref:tools:jreleaser-gradle.adoc[Gradle]) file.
Once setup, you can create a new release by invoking the `full-release` command.
Every step of the release process is configurable. Inputs may be parameterized externally; several input files may be
provided as templates.
== Where does it run
You can run JReleaser at your local development machine or at any of the following CI/CD solutions:
xref:continuous-integration:buddy.adoc[], xref:continuous-integration:buildkite.adoc[],
xref:continuous-integration:circle-ci.adoc[], xref:continuous-integration:cirrus-ci.adoc[],
xref:continuous-integration:codefresh.adoc[], xref:continuous-integration:codeship.adoc[],
xref:continuous-integration:drone.adoc[], xref:continuous-integration:github-actions.adoc[],
xref:continuous-integration:gitlab-ci.adoc[], xref:continuous-integration:jenkins.adoc[],
xref:continuous-integration:teamcity.adoc[], xref:continuous-integration:travis-ci.adoc[].
More to come in the future.
== How it looks
A (moving) picture is worth a thousand words
++++
<script id="asciicast-409271" src="https://asciinema.org/a/409271.js" async></script>
++++
== Acknowledgments
JReleaser is heavily inspired by link:https://goreleaser.com[GoReleaser], it also builds on top of the lessons learned
from link:github.com/jbangdev/jbang[jbang]'s build setup.