2017-01-03 1 views
1

Ich bin neu in AWS und wir versuchen, mehrere War-Dateien auf einer einzigen Instanz von AWS Elastic Beanstalk mit Tomcat 8 zu implementieren. Wir haben mehrere Dienste tatsächlich und wir möchten sicherstellen, dass sie verfügbar sind meist. Auf diese Weise beeinflussen Codeänderungen und -bereitstellungen die anderen nicht, selbst wenn sich Änderungen ergeben. Wir haben versucht, die Mehrfachkriege zu zippen und es funktioniert, aber dann bedeutet es wiederum, dass andere Dienste nicht verfügbar sind, falls sich einer der Dienste ändert. Gibt es eine Möglichkeit, dies zu implementieren, ohne die mehreren Kriege zusammen zu zerren und dann zu implementieren?Multiple War-Implementierung auf AWS Tomcat 8

Antwort

2

Wenn jede War-Datei auf eine andere Web-Anwendung verweist, können Sie diese War-Dateien mit einem Quellpaket bereitstellen.

Machen Sie eine Source Bundle und fügen Sie jede War-Datei mit darin hinzu.

Exp : MyApplication.zip 
     ->app1.war 
     ->app2.war 
     ->app3.war 
     ->ROOT.war 

Wenn Elastic Beanstalk sieht, dass Sie eine Datei wie diese es behandelt es als ein normales Bündel unterschiedlich bereitgestellt haben. Es nimmt die WAR-Datei namens ROOT.war und stellt diese als Root-Anwendung bereit. Der Rest der WAR-Dateien wird in Verzeichnissen bereitgestellt, die von ihren Dateinamen abgeleitet sind. Auf application1.war wird beispielsweise über den Pfad/application1 zugegriffen.

Ändern Sie jetzt das von HostManager bereitgestellte Extraktionsskript. finden Sie das Skript in bestimmten Datei:

/opt/elasticbeanstalk/srv/hostmanager/lib/elasticbeanstalk/hostmanager/utils/tomcatutil.rb 

ODER Sie können das Skript von gegebenen Befehl finden:

grep -i -r ROOT.war /opt/elasticbeanstalk/srv/hostmanager/lib/: