Difference between revisions of "IT-SDK-Quarkus"

From wiki.samerhijazi.net
Jump to navigation Jump to search
(Startup)
(Maven)
 
(16 intermediate revisions by 2 users not shown)
Line 1: Line 1:
=Quarkus=
+
=Ref=
==OpenShift==
+
* https://quarkus.io/guides/getting-started
 +
* https://quarkus.io/guides/maven-tooling
 +
* https://quarkus.io/guides/centralized-log-management
 +
* https://quarkus.io/guides/rest-json
 +
* https://lordofthejars.github.io/quarkus-cheat-sheet/
 +
 
 +
=Initial=
 +
==CLI==
 +
<pre class="code">
 +
quarkus create app com.condolco.trymore:trymore --extension=resteasy
 +
cd trymore
 +
quarkus dev
 +
quarkus build
 +
</pre>
 +
 
 +
==Maven==
 +
<pre class="code">
 +
mvn io.quarkus.platform:quarkus-maven-plugin:2.11.1.Final:create \
 +
    -DprojectGroupId=com.condolco \
 +
    -DprojectArtifactId=quarkus-app \
 +
    -Dextensions="resteasy"
 +
----
 +
cd trymore
 +
mvn quarkus:dev
 +
mvn clean package
 +
</pre>
 +
 
 +
=OpenShift=
 
* https://www.youtube.com/watch?v=QxJQMb35RWU
 
* https://www.youtube.com/watch?v=QxJQMb35RWU
 
* https://quarkus.io/guides/getting-started
 
* https://quarkus.io/guides/getting-started
Line 67: Line 94:
 
</pre>
 
</pre>
  
==Startup==
+
=Startup=
 +
* https://quarkus.io/guides/maven-tooling
 
<pre class="code">
 
<pre class="code">
 
mvn "io.quarkus:quarkus-maven-plugin:2.0.1.Final:create"
 
mvn "io.quarkus:quarkus-maven-plugin:2.0.1.Final:create"
Line 73: Line 101:
 
</pre>
 
</pre>
 
<pre class="code">
 
<pre class="code">
mvn "io.quarkus:quarkus-maven-plugin:1.12.2.Final:create" \
+
mvn "io.quarkus:quarkus-maven-plugin:2.5.2.Final:create" \
     -DprojectGroupId="net.condolco" \
+
     -DprojectGroupId="net.samerhijazi.startup" \
     -DprojectArtifactId="quarkus-openshift" \
+
     -DprojectArtifactId="quarkus-startup" \
     -DclassName="net.condolco.SayHello" \
+
     -DclassName="net.samerhijazi.startup.run" \
 
     -Dpath="/hello" \
 
     -Dpath="/hello" \
     -Dextensions="resteasy,openshift"
+
     -Dextensions="resteasy"
 +
---
 +
mvn io.quarkus.platform:quarkus-maven-plugin:2.6.3.Final:create \
 +
    -DprojectGroupId=my-groupId \
 +
    -DprojectArtifactId=my-artifactId \
 +
    -DprojectVersion=my-version \
 +
    -DclassName="org.my.group.MyResource"
 
</pre>
 
</pre>
 
<pre class="code">
 
<pre class="code">
Line 88: Line 122:
 
mvn quarkus:list-extensions
 
mvn quarkus:list-extensions
 
mvn quarkus:add-extension -Dextensions="openshift"
 
mvn quarkus:add-extension -Dextensions="openshift"
 +
mvn quarkus:remove-extension -Dextensions="openshift"
 
</pre>
 
</pre>
 
<pre class="code">
 
<pre class="code">

Latest revision as of 10:00, 31 August 2022

Ref

Initial

CLI

quarkus create app com.condolco.trymore:trymore --extension=resteasy
cd trymore
quarkus dev
quarkus build

Maven

mvn io.quarkus.platform:quarkus-maven-plugin:2.11.1.Final:create \
    -DprojectGroupId=com.condolco \
    -DprojectArtifactId=quarkus-app \
    -Dextensions="resteasy"
----
cd trymore
mvn quarkus:dev
mvn clean package

OpenShift

oc new-project $NAME_SPACE
oc project $NAME_SPACE
oc delete $NAME_SPACE
...
oc new-build --name $NAME_BUILD --namespace $NAME_SPACE --strategy docker --binary
oc new-build --name $NAME_BUILD --namespace $NAME_SPACE --strategy docker --binary --to="$NAME_BUILD"
oc new-build --name $NAME_BUILD --namespace $NAME_SPACE --strategy docker --binary --docker-image $NAME_DOCKER:TAG
oc new-build --name $NAME_BUILD --namespace $NAME_SPACE --strategy docker --code . --dockerfile - < src/main/docker/Dockerfile.jvm
...
oc start-build $NAME_BUILD --from-dir . --follow --wait
oc new-app --name=$NAME_BUILD --image-stream=$NAME_SPACE/$NAME_BUILD:latest
oc expose svc/$NAME_BUILD
...
oc get is
oc get svc
oc get routes

ref: Roadmap

ref: Colletions

docker pull maven:3.6-jdk-11-slim

Startup

mvn "io.quarkus:quarkus-maven-plugin:2.0.1.Final:create"
mvn "io.quarkus:quarkus-maven-plugin:1.11.7.Final:create"
mvn "io.quarkus:quarkus-maven-plugin:2.5.2.Final:create" \
    -DprojectGroupId="net.samerhijazi.startup" \
    -DprojectArtifactId="quarkus-startup" \
    -DclassName="net.samerhijazi.startup.run" \
    -Dpath="/hello" \
    -Dextensions="resteasy"
---
mvn io.quarkus.platform:quarkus-maven-plugin:2.6.3.Final:create \
    -DprojectGroupId=my-groupId \
    -DprojectArtifactId=my-artifactId \
    -DprojectVersion=my-version \
    -DclassName="org.my.group.MyResource"
mvn clean
mvn compile
mvn package
...
mvn quarkus:dev
mvn quarkus:list-extensions
mvn quarkus:add-extension -Dextensions="openshift"
mvn quarkus:remove-extension -Dextensions="openshift"
## mode: jvm
mvn clean package -DskipTests
java -jar target/tutorial-app-1.0-SNAPSHOT-runner.jar
...
## mode: native
mvn clean package -DskipTests -Pnative
./target/tutorial-app-1.0-SNAPSHOT-runner
...
## mode: native contianer
mvn clean package -DskipTests -Pnative -Dquarkus.native.container-build=true
docker build -f src/main/docker/Dockerfile.native -t example/tutorial-app:1.0-SNAPSHOT .
docker run -it --rm -p 8080:8080 example/tutorial-app:1.0-SNAPSHOT