Langage Francfort, Allemagne
Nodion reconnaît un projet Java à son pom.xml, à son build.gradle ou à un wrapper Maven ou Gradle. Le buildpack Java le compile avec un JDK Temurin, ignore les tests et lance le jar le plus volumineux avec java -jar sur un JRE Temurin : le JDK reste ainsi hors de l'image d'exécution. L'app tourne à Francfort, à côté d'une base de données PostgreSQL managée si vous en avez besoin.
pom.xml, build.gradle(.kts), mvnw ou gradlewjava -Dserver.port=$PORT -jar avec le jar le plus volumineuxgradlew, Nodion exécute ./gradlew build -x test --no-daemon ; avec mvnw, il exécute ./mvnw -B -DskipTests clean package. Un pom.xml sans wrapper est compilé avec le Maven de Nodion. Un projet Gradle sans gradlew échoue : créez le wrapper avec gradle wrapper et commitez-le avec le dossier gradle/wrapper. Les tests sont ignorés pendant le déploiement ; exécutez-les dans votre CI. system.properties. Les réglages de toolchain de pom.xml ou de votre build Gradle ne sont pas lus : gardez-les alignés sur ce fichier. system.properties java.runtime.version=25 PORT pour le processus web et la transmet à la JVM sous la forme -Dserver.port, ce qui suffit pour Spring Boot. Les autres frameworks, ou votre propre serveur, lisent PORT eux-mêmes et écoutent sur 0.0.0.0. int port = Integer.parseInt(System.getenv().getOrDefault("PORT", "8080")); DATABASE_URL est une URL postgres://, pas une URL JDBC : injectez donc aussi host, port, database, user et password sous vos propres noms et construisez l'URL JDBC à partir de ces variables, comme le montre le guide Spring Boot. Les migrations qui s'exécutent au démarrage (Flyway, Liquibase) ne demandent rien de plus ; toute autre commande peut s'exécuter depuis une ligne release: d'un Procfile, une fois par build, avant le démarrage de la nouvelle version. JAVA_TOOL_OPTIONS=-XX:MaxRAMPercentage=80.0 : le tas peut donc occuper la majeure partie de la mémoire de l'instance. Définissez vous-même JAVA_TOOL_OPTIONS pour remplacer cette valeur, ou JAVA_OPTS pour ajouter des options à la commande de démarrage. La plupart des apps web JVM ont besoin de 1 Go ou plus.target/ ou build/libs/ et ignore les jars -plain, -sources et -javadoc. Dans un build multi-module, le jar exécutable se trouve dans le dossier d'un module : lancez-le avec une ligne web: dans un Procfile et passez le port vous-même.-Dserver.port ne configure que Spring Boot. Quarkus, Micronaut et les autres ont besoin de leur propre réglage de port, à partir de PORT. Le fast-jar par défaut de Quarkus dans target/quarkus-app/ n'est pas détecté : lancez-le avec une ligne de Procfile comme web: java -Dquarkus.http.port=$PORT -jar target/quarkus-app/quarkus-run.jar, ou construisez un uber-jar.DATABASE_URL, REDIS_URL ou CLICKHOUSE_URL. release: du Procfile s'exécute à chaque nouveau build. Les apps Dockerfile, ainsi que les redéploiements ou les rollbacks vers une image antérieure, utilisent une commande de release définie sur l'app elle-même, qui prime aussi sur la ligne du Procfile. Sur les sites statiques, l'étape de release s'exécute dans une image qui ne contient que les fichiers générés par le build. Temurin 11, 17, 21, 25, 26 et 27. Sans version fixée, vous obtenez la 21. Définissez java.runtime.version dans system.properties ; les réglages de la chaîne d'outils de Maven et de Gradle ne sont pas lus.
Non. Gradle compile avec -x test et Maven avec -DskipTests, pour que les déploiements restent rapides. Exécutez vos tests dans votre CI avant de fusionner vos modifications.
Oui, tant qu'ils se compilent avec Maven ou Gradle et produisent un jar exécutable. Les projets sbt ne sont pas détectés ; pour ceux-ci, utilisez un Dockerfile.
Dans la région EU Central, à Francfort (Allemagne). Le build, le registry, l'app et ses bases de données, volumes, buckets, logs et métriques restent dans cette région. L'API et le plan de contrôle de Nodion sont hébergés en Allemagne. Nodion GmbH a son siège à Stuttgart.
Nodion en pose les bases : Nodion GmbH a son siège à Stuttgart (Allemagne). Dans la région de Francfort, l'app, ses bases de données et ses volumes fonctionnent en Allemagne. Vous concluez le DPA (accord de traitement des données, art. 28 RGPD) par voie électronique dans le dashboard. La conformité de votre déploiement dépend aussi de la façon dont vous configurez et utilisez l'app.
Une instance d'app coûte à partir de 1 EUR par mois. La configuration présentée dans l'encadré des coûts revient à 5.50 EUR par mois : App 4 EUR, PostgreSQL 1.50 EUR. Les prix sont HT, avec une facturation à la seconde. Vous pouvez choisir des tailles plus grandes ou davantage d'instances dès que vous en avez besoin.
Oui. Chaque app reçoit un nom d'hôte par défaut avec HTTPS. Ajoutez votre propre domaine dans l'onglet Domains de l'app. Le certificat TLS est émis et renouvelé automatiquement.
Jusqu'à 15 € de crédit de bienvenue à l'inscription.
ou par e-mail
Les nouveautés du produit, sans spam. Désabonnez-vous à tout moment.
Inscription confirmée.