Framework Francfort, Allemagne
Connectez votre dépôt : Nodion compile votre app Spring Boot avec son wrapper Maven ou Gradle, ignore les tests et lance le jar exécutable sur un JRE Temurin. server.port vient de la variable PORT définie par Nodion, vous n'avez donc pas à configurer le port vous-même. L'app tourne à Francfort, à côté d'une base de données PostgreSQL managée si vous en avez besoin.
pom.xml ou build.gradle(.kts)java -Dserver.port=$PORT -jar avec le jar Bootmvnw ou gradlew. Nodion exécute ./mvnw -B -DskipTests clean package ou ./gradlew build -x test --no-daemon et lance le jar le plus volumineux de target/ ou build/libs/, en ignorant le jar -plain de Gradle. Gradle sans wrapper échoue ; Maven sans wrapper est compilé avec le Maven de Nodion. La version de Java vient de system.properties (21 par défaut), pas de la chaîne d'outils de votre fichier de build. system.properties java.runtime.version=21 / renvoie 404. Ajoutez Actuator (avec Gradle : implementation 'org.springframework.boot:spring-boot-starter-actuator') et définissez /actuator/health comme chemin du health check dans les paramètres de l'app. pom.xml <dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-actuator</artifactId>
</dependency> DATABASE_URL, qui est une URL postgres://. Référencez vos propres variables dans application.properties et ajoutez le pilote PostgreSQL org.postgresql:postgresql comme dépendance de runtime. Nodion renseigne ces variables quand vous rattachez la base de données à l'étape suivante. 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 et DB_PASSWORD. Ces variables arrivent au prochain déploiement. JAVA_TOOL_OPTIONS=-XX:MaxRAMPercentage=80.0 : le tas peut donc occuper la majeure partie de la mémoire de l'instance. Définissez JAVA_TOOL_OPTIONS pour remplacer cette valeur, ou JAVA_OPTS pour ajouter des options à la commande de démarrage./actuator/health sans authentification. Avec un 401 ou un 403 sur le chemin du health check, la release n'est jamais prête et elle est abandonnée au bout de 10 minutes, pendant que l'ancienne version continue de répondre.target/ et build/libs/ du répertoire indiqué dans le champ Base directory. Si le jar Boot est généré dans le dossier d'un module, lancez-le avec une ligne de Procfile et passez le port vous-même, par exemple web: java -Dserver.port=$PORT -jar app/build/libs/app.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. En général, le health check appelle /, qui n'a pas de mapping et répond 404, ou Spring Security répond 401. Ajoutez Actuator, définissez /actuator/health comme chemin du health check et rendez-le accessible sans authentification. Une JVM qui manque de mémoire au démarrage n'est jamais prête non plus : donnez-lui 1 Go ou plus.
Non. Un projet Gradle a besoin d'un gradlew committé avec le dossier gradle/wrapper ; exécutez une fois gradle wrapper et commitez le résultat. Les projets Maven se compilent aussi sans wrapper, avec le Maven de Nodion.
Oui. Les projets Kotlin issus de Spring Initializr se compilent avec le même wrapper Maven ou Gradle, et build.gradle.kts est détecté comme build.gradle.
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.