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

Provide an update guide #32384

Merged
merged 1 commit into from
Apr 25, 2023
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
55 changes: 55 additions & 0 deletions docs/src/main/asciidoc/update-to-quarkus-3.adoc
Original file line number Diff line number Diff line change
@@ -0,0 +1,55 @@
////
This document is maintained in the main Quarkus repository, and pull requests should be submitted there:
https://github.com/quarkusio/quarkus/tree/main/docs/src/main/asciidoc
////
[id="update-projects-to-quarkus-3-automatically-howto"]
= Update projects to Quarkus 3.x automatically
include::_attributes.adoc[]
:categories: core
:extension-status: "experimental"
:summary: Update projects from Quarkus 2.x to Quarkus 3.x.

include::{includes}/extension-status.adoc[]

You can update your projects from Quarkus 2.x to Quarkus 3.x by running an update command.

The update command primarily uses OpenRewrite recipes to automate updating most of your project's dependencies, source code, and documentation. These recipes cover many but not all of the items described in the link:https://github.com/quarkusio/quarkus/wiki/Migration-Guide-3.0[Migration Guide 3.0].

After updating the project, if you do not find all the updates you expect, there are two possible reasons:
- The recipe might not cover an item in your project.
- Your project might use an extension that does not support Quarkus 3 yet.

In either case, https://github.com/quarkusio/quarkus/issues[let us know by filing an issue] so we can improve the update command.

[IMPORTANT]
====
If your project uses Hibernate ORM or Hibernate Reactive, read through the link:https://github.com/quarkusio/quarkus/wiki/Migration-Guide-3.0:-Hibernate-ORM-5-to-6-migration[Hibernate ORM 5 to 6 migration] quick reference.
The following update command only covers a few items in this quick reference.
====

== Prerequisites

:prerequisites-time: 30 minutes
include::{includes}/prerequisites.adoc[]

== Procedure

. Use your version control system to create a working branch for your project or projects.
. Optional: To use the Quarkus CLI in the next step, link:https://quarkus.io/guides/cli-tooling#installing-the-cli[install version 3 of the Quarkus CLI]. Use `quarkus -v` to verify the version number.
. Update the project:
+
[source, bash, subs=attributes+, role="primary asciidoc-tabs-sync-cli"]
.CLI
----
quarkus update --stream=3.0
----
+
[source, bash, subs=attributes+, role="secondary asciidoc-tabs-sync-maven"]
.Maven
----
./mvnw io.quarkus.platform:quarkus-maven-plugin:{quarkus-version}:update -N -Dstream=3.0
----
. Review the output from the update command for potential instructions and, if needed, perform the indicated tasks.
. Review all the changes using a diff tool.
. Review link:https://github.com/quarkusio/quarkus/wiki/Migration-Guide-3.0[the migration guide] for any items not covered by the upgrade command and perform additional steps, if needed.
. Verify that the project builds without errors and that the application passes all tests and works as expected before releasing it to production.