Framework Frankfurt, Duitsland
Koppel je repository en Nodion bouwt je Spring Boot-app met de Maven- of Gradle-wrapper van het project, slaat de tests over en start de uitvoerbare jar op een Temurin-JRE. server.port komt uit de PORT die Nodion instelt, dus de poort configureer je niet zelf. De app draait in Frankfurt, naast een managed PostgreSQL-database als je die nodig hebt.
pom.xml of build.gradle(.kts)java -Dserver.port=$PORT -jar met de Boot-jarmvnw of gradlew al aan boord. Nodion draait ./mvnw -B -DskipTests clean package of ./gradlew build -x test --no-daemon en start de grootste jar in target/ of build/libs/, waarbij de -plain-jar van Gradle wordt overgeslagen. Gradle zonder wrapper mislukt; een Maven-project zonder wrapper bouwt Nodion met een eigen Maven. De Java-versie komt uit system.properties (standaard 21), niet uit de toolchain in je buildbestand. system.properties java.runtime.version=21 / geeft in veel Spring Boot-apps 404. Voeg Actuator toe (in Gradle: implementation 'org.springframework.boot:spring-boot-starter-actuator') en stel in de app-instellingen /actuator/health in als pad van de health check. pom.xml <dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-actuator</artifactId>
</dependency> DATABASE_URL niet, want dat is een postgres://-URL. Verwijs in application.properties naar je eigen variabelen en voeg de PostgreSQL-driver org.postgresql:postgresql toe als runtime-dependency. Nodion vult de variabelen wanneer je in de volgende stap de database koppelt. application.properties spring.datasource.url=jdbc:postgresql://${DB_HOST}:${DB_PORT}/${DB_NAME}
spring.datasource.username=${DB_USER}
spring.datasource.password=${DB_PASSWORD} DB_HOST, DB_PORT, DB_NAME, DB_USER en DB_PASSWORD. Ze komen binnen bij de volgende deployment. JAVA_TOOL_OPTIONS=-XX:MaxRAMPercentage=80.0, dus de heap mag het grootste deel van het geheugen van de instantie gebruiken. Stel JAVA_TOOL_OPTIONS in om dat te vervangen, of JAVA_OPTS om flags aan het startcommando toe te voegen./actuator/health dan vrij zonder login. Met een 401 of 403 op het pad van de health check wordt de release nooit gereed, en na 10 minuten wordt die afgebroken terwijl de oude versie verkeer blijft bedienen.target/ en build/libs/ van de Base directory naar jars. Wordt de Boot-jar in een modulemap gebouwd, start hem dan met een Procfile-regel en geef de poort zelf door, bijvoorbeeld web: java -Dserver.port=$PORT -jar app/build/libs/app.jar.DATABASE_URL, REDIS_URL of CLICKHOUSE_URL. release:-regel in het Procfile bij elke nieuwe build. Dockerfile-apps, en redeploys of rollbacks naar een eerdere image, gebruiken een releasecommando dat op de app zelf is ingesteld en dat ook voorrang heeft op de Procfile-regel. Bij statische sites draait een releasestap in een image die alleen de gebouwde bestanden bevat. Meestal roept de health check / aan, dat geen mapping heeft en 404 teruggeeft, of antwoordt Spring Security met 401. Voeg Actuator toe, stel het pad van de health check in op /actuator/health en maak het bereikbaar zonder login. Een JVM die tijdens het opstarten zonder geheugen komt te zitten, wordt ook nooit gereed; geef hem 1 GB of meer.
Nee. Een Gradle-project heeft gradlew in de repository nodig, samen met de map gradle/wrapper; draai één keer gradle wrapper en commit het resultaat. Maven-projecten bouwen ook zonder wrapper, met de eigen Maven van Nodion.
Ja. Kotlin-projecten uit Spring Initializr bouwen met dezelfde Maven- of Gradle-wrapper, en build.gradle.kts wordt net zo herkend als build.gradle.
In de regio EU Central in Frankfurt, Duitsland. Build, registry, de app en de bijbehorende databases, volumes, buckets, logs en metrics blijven in die regio, en de API en het control plane van Nodion worden in Duitsland gehost. Nodion GmbH is gevestigd in Stuttgart.
Nodion biedt hiervoor de basis: Nodion GmbH is gevestigd in Stuttgart (Duitsland). Kies je de regio Frankfurt, dan draaien de app, de databases en de volumes in Duitsland. De verwerkersovereenkomst (DPA, art. 28 AVG) sluit je elektronisch af in het dashboard. Of je configuratie aan de AVG voldoet, hangt ook af van hoe je de app instelt en gebruikt.
Een appinstantie kost vanaf 1 EUR per maand. De configuratie in het kostenoverzicht kost 5.50 EUR per maand: App 4 EUR, PostgreSQL 1.50 EUR. Prijzen zijn excl. btw en worden per seconde gefactureerd, en je kiest grotere formaten of meer instanties wanneer je ze nodig hebt.
Ja. Elke app krijgt een standaardhostnaam met HTTPS. Voeg je eigen domein toe op het tabblad Domains van de app; het TLS-certificaat wordt automatisch uitgegeven en vernieuwd.
Ontvang tot € 15 welkomsttegoed bij je registratie.
of met e-mail
Productnieuws, geen spam. Je kunt je altijd weer afmelden.
Je bent aangemeld.