2017-12-18 4 views
0

Ich habe mehrere Module Maven-Projekt mit zwei Modulen. Jedes Modul ist ein Federrast-Service (@RestController). Ich habe die Dienste auf localhost erfolgreich ausgeführt und möchte jetzt Remotezugriff auf meine App haben, sodass ich Module auf einem Remote-Server veröffentlichen muss.Bereitstellen mehrerer Module Java-App auf Heroku

Ich fand, dass die Verwendung von Heroku ein guter Anfang ist. Ich lese einige Tutorials, aber verstehe eines noch nicht ganz: Kann ich mehrere Services in einer Heroku-App bereitstellen (wenn ja, wie muss ich mein Procfile konfigurieren) oder muss ich für jeden meiner Apps eine Heroku-App erstellen? Oder gibt es eine Möglichkeit, mehrere Module zu einer War/Ear-Datei zu packen und sie für die Bereitstellung zu verwenden?

Nur für den Fall, ist es mein Top-Level-pom

<?xml version="1.0" encoding="UTF-8"?> 
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> 
<modelVersion>4.0.0</modelVersion> 

<groupId>com.nverapp</groupId> 
<artifactId>nverapp</artifactId> 
<version>1.0-SNAPSHOT</version> 
<packaging>pom</packaging> 

<modules> 
    <module>server</module> 
    <module>auth_server</module> 
</modules> 

UPD

So fand ich dieses Beispiel https://github.com/seeebiii/multi-module-heroku, aber ich undrestand nicht, wie der Anwendungsserver Griffe mit Startmuffel ChildTwo als separarte Dienstleistung. Kann jemand diesen Moment erklären?

Antwort

0

Sie müssen zwei Apps erstellen, da Heroku nur einen Web-Prozesstyp pro App zulässt.

Sie müssen auch Ihre Procfile flexibel genug machen, um mit beiden Modulen zu arbeiten. Um dies zu tun empfehle ich die JAR-Dateinamen in einem Config-var setzen wie:

web: java -jar $JAR_FILE 

Sie können auch die MAVEN_CUSTOM_OPTS Config var verwenden, um die Option -pl pro App einzurichten nur zu bauen, was Sie brauchen.