You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: _posts/2023-06-23-quarkus-cli.adoc
+13-13Lines changed: 13 additions & 13 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -31,7 +31,7 @@ and will be the focus of this post. In particular, this post is about building c
31
31
the Quarkus CLI.
32
32
33
33
34
-
=== Building container images using the Quarkus CLI ===
34
+
== Building container images using the Quarkus CLI ==
35
35
Providing a simple way for creating container images with Quarkus is not something new. Since, its early days Quarkus provided extensions
36
36
that took care of building container images with technologies like:
37
37
@@ -62,7 +62,7 @@ This is trivial, but something that should be optional as the actual application
62
62
Also, it can potentially increase the noise in the version control log.
63
63
64
64
65
-
==== Building container images using the Quarkus CLI ====
65
+
=== Building container images using the Quarkus CLI ===
66
66
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.
67
67
These are listed in the output of `quarkus --help`.
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].
115
115
Again, this is something the required the use of extensions and additional build options to enable deployment.
116
116
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.
In Quarkus 3.0 the CLI includes the `deploy` sub command that is the entry point to commands related to deployment.
127
127
Using `quarkus --help` one can list all the related commands:
128
128
@@ -152,19 +152,19 @@ quarkus deploy kind
152
152
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).
153
153
154
154
155
-
==== Summarizing image building and deployment commands ====
155
+
=== Summarizing image building and deployment commands ===
156
156
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
157
157
setup and configuration. They allow developers to easily experiment with different technologies and guide them by providing help messages, hints and completion.
158
158
159
159
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].
160
160
161
161
162
-
==== CLI Plugins ====
162
+
=== CLI Plugins ===
163
163
The CLI brings some really interesting features for Developers, but unfortunately it can't grow indefinitely as it needs to be reasonably sized.
164
164
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.
165
165
166
166
167
-
===== What is a Plugin ? =====
167
+
==== What is a Plugin ? ====
168
168
A plugin implements a command in one of the following ways:
169
169
170
170
* As an arbitrary executable
@@ -213,7 +213,7 @@ The plugins listed are https://www.jbang.dev/[JBang] aliases that are available
213
213
More catalogs can be added using the https://www.jbang.dev/[JBang] binary.
214
214
215
215
216
-
===== Writing plugins =====
216
+
==== Writing plugins ====
217
217
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:
===== Using your Java skills to write plugins =====
313
+
==== Using your Java skills to write plugins ====
314
314
Using shell scripts or arbitrary binaries (written in any language) is one of writing plugins.
315
315
Java developers can alternatively put their java skills to use.
316
316
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).
@@ -415,7 +415,7 @@ Added plugin:
415
415
----
416
416
417
417
418
-
===== Project specific plugins =====
418
+
==== Project specific plugins ====
419
419
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.
Now by calling `quarkus argocd-setup` the application is setup for use with https://argoproj.github.io/cd/[ArgoCD].
559
559
560
560
561
-
===== Extension provided plugins =====
561
+
==== Extension provided plugins ====
562
562
A Quarkus extension may contribute to the CLI plugins that are available to a project.
563
563
At the moment the following Quarkiverse extensions provide plugins:
564
564
@@ -599,12 +599,12 @@ quarkus helm install
599
599
----
600
600
601
601
602
-
===== Summarizing plugins =====
602
+
==== Summarizing plugins ====
603
603
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
604
604
scripts and recipes specific to their project and distribute them along with the code.
605
605
606
606
607
-
=== See also ===
607
+
== See also ==
608
608
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.
609
609
They demonstrate the new features in action and will hopefully inspire you with ideas for your own plugins.
0 commit comments