Skip to content

jaivalis/release-raccoon

Repository files navigation

ReleaseRaccoon


Github Actions build Known Vulnerabilities Quality Gate Status Coverage Lines of Code

A music release newsletter application powered by quarkus.

Local development

See guide.

Creating a native executable

You can create a native executable using:

./mvnw package -Pnative

Or, if you don't have GraalVM installed, you can run the native executable build in a container using:

./mvnw package -Pnative -Dquarkus.native.container-build=true
./mvnw package -Pnative -pl release-raccoon-app

You can then execute your native executable with: ./target/release.com.raccoon-0.0.1-SNAPSHOT-runner

If you want to learn more about building native executables, please consult https://quarkus.io/guides/maven-tooling.html.

Deploying the image to heroku

Build the project to get the jar

./mvnw package -Pnative -Dquarkus.native.container-build=true -Dquarkus.container-image.build=true

This needs to be run from the project root otherwise the following property (pointing to the resource dir) needs to be configured accordingly in application.properties: -H:IncludeResources='${PWD}/release-raccoon-app/src/main/resources/META-INF/resources/.*'

(Login to heroku docker registry if you haven't already), build the docker image, push it to the heroku repository and deploy to heroku:

heroku container:login
cp build/release-raccoon-app-0.0.1-SNAPSHOT-runner ./docker && pushd docker && docker build -f Dockerfile.native -t registry.heroku.com/release-raccoon/web .
docker push registry.heroku.com/release-raccoon/web
heroku container:release web --app release-raccoon && popd

Check the logs for a successful start.

heroku logs --app release-raccoon --tail