Skip to content

Commit

Permalink
Create update guide
Browse files Browse the repository at this point in the history
(cherry picked from commit e23f08c)
  • Loading branch information
rolfedh authored and gsmet committed Apr 25, 2023
1 parent 68a4be8 commit de7076d
Showing 1 changed file with 55 additions and 0 deletions.
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.

0 comments on commit de7076d

Please sign in to comment.