Skip to content
Merged
Show file tree
Hide file tree
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
26 changes: 13 additions & 13 deletions _posts/2023-06-23-quarkus-cli.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,7 @@ and will be the focus of this post. In particular, this post is about building c
the Quarkus CLI.


=== Building container images using the Quarkus CLI ===
== Building container images using the Quarkus CLI ==
Providing a simple way for creating container images with Quarkus is not something new. Since, its early days Quarkus provided extensions
that took care of building container images with technologies like:

Expand Down Expand Up @@ -62,7 +62,7 @@ This is trivial, but something that should be optional as the actual application
Also, it can potentially increase the noise in the version control log.


==== Building container images using the Quarkus CLI ====
=== Building container images using the Quarkus CLI ===
Quarkus 3.0 introduces an alternative way of building container images using the Quarkus CLI. In the recent version of the CLI new sub commands are available for building and pushing container images.
These are listed in the output of `quarkus --help`.

Expand Down Expand Up @@ -110,7 +110,7 @@ quarkus image build jib --help
----


==== Deploying applications ====
=== Deploying applications ===
In a way similar to building container images Quarkus allowed the application deployment to platforms like https://kubernetes.io[Kubernetes] and https://openshift.com[OpenShift].
Again, this is something the required the use of extensions and additional build options to enable deployment.
For example to deploy an application on https://kubernetes.io[Kubernetes] one needed to explicitly add the extension to the project and enable deployment using the `quarkus.kubernetes.deploy` property.
Expand All @@ -122,7 +122,7 @@ quarkus ext add quarkus-kubernetes
----


==== Deploying using the Quarkus CLI ====
=== Deploying using the Quarkus CLI ===
In Quarkus 3.0 the CLI includes the `deploy` sub command that is the entry point to commands related to deployment.
Using `quarkus --help` one can list all the related commands:

Expand Down Expand Up @@ -152,19 +152,19 @@ quarkus deploy kind
It's important to note, that by having a command per platform, users can easily set platform specific configuration when executing these commands (see the `--help` output).


==== Summarizing image building and deployment commands ====
=== Summarizing image building and deployment commands ===
Quarkus 3.0 introduces new CLI commands for building container images and deploying. The commands improve the developer experience as they eliminate steps related to project
setup and configuration. They allow developers to easily experiment with different technologies and guide them by providing help messages, hints and completion.

Future releases of Quarkus will expand this concept to cover areas like https://quarkus.io/guides/azure-functions[Quarkus Azure Functions] and https://quarkus.io/guides/amazon-lambda[Quarkus Amazon Lambda].


==== CLI Plugins ====
=== CLI Plugins ===
The CLI brings some really interesting features for Developers, but unfortunately it can't grow indefinitely as it needs to be reasonably sized.
This need lead to the implementation of a plugin system for the CLI, that allows the dynamic addition of commands in the form of plugins.


===== What is a Plugin ? =====
==== What is a Plugin ? ====
A plugin implements a command in one of the following ways:

* As an arbitrary executable
Expand Down Expand Up @@ -213,7 +213,7 @@ The plugins listed are https://www.jbang.dev/[JBang] aliases that are available
More catalogs can be added using the https://www.jbang.dev/[JBang] binary.


===== Writing plugins =====
==== Writing plugins ====
Let's see how to create a plugin for the Quarkus CLI. Out of the box the Quarkus CLI provides 3 ways of creating projects:

* A webapp
Expand Down Expand Up @@ -310,7 +310,7 @@ quarkus create from-quickstart hibernate-orm-panache-quickstart
----


===== Using your Java skills to write plugins =====
==== Using your Java skills to write plugins ====
Using shell scripts or arbitrary binaries (written in any language) is one of writing plugins.
Java developers can alternatively put their java skills to use.
Any source file that contains a main or any jar that defines a main class can be used directly by passing their location (Path or URL).
Expand Down Expand Up @@ -415,7 +415,7 @@ Added plugin:
----


===== Project specific plugins =====
==== Project specific plugins ====
In all the examples so far the plugins listed as `user scoped`. This means that the plugins are global to the user. It is possible however to also have `project scoped` plugins.
This is important as it allows:

Expand Down Expand Up @@ -558,7 +558,7 @@ quarkus plug add bin/quarkus-argocds-setup
Now by calling `quarkus argocd-setup` the application is setup for use with https://argoproj.github.io/cd/[ArgoCD].


===== Extension provided plugins =====
==== Extension provided plugins ====
A Quarkus extension may contribute to the CLI plugins that are available to a project.
At the moment the following Quarkiverse extensions provide plugins:

Expand Down Expand Up @@ -599,12 +599,12 @@ quarkus helm install
----


===== Summarizing plugins =====
==== Summarizing plugins ====
The Quarkus CLI plugin system is not just a way for the Quarkus team to rightsize and modularize the Quarkus CLI, it also offers teams a way of creating
scripts and recipes specific to their project and distribute them along with the code.


=== See also ===
== See also ==
If you want to see more about the new Quarkus CLI features make sure to check the following https://quarkus.io/insights/[Quarkus Insights] episodes.
They demonstrate the new features in action and will hopefully inspire you with ideas for your own plugins.

Expand Down
2 changes: 1 addition & 1 deletion _posts/2025-10-02-mandrel-25-released.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
layout: post
title: 'Mandrel 25 is Here!'
date: 2025-10-02
tags: release, mandrel, native, graalvm
tags: release mandrel native graalvm
synopsis: 'Mandrel 25, based on GraalVM 25, has been released.'
author: sgehwolf
---
Expand Down
Loading