Im vorherigen Artikel (https://qiita.com/tama1/items/829be5aacd81637ae73a) habe ich geschrieben, dass es drei Möglichkeiten gibt, eine Webanwendung für WildFly bereitzustellen:
** 1. In den Bereitstellungsordner (Verzeichnis) legen und bereitstellen ** ** 2. Bereitstellung über den Verwaltungsbildschirm ** ** 3. Bereitstellen mit der Verwaltungs-CLI **
Dieses Mal werde ich etwas detaillierter über diesen Bereich schreiben.
Wenn Sie eine Anwendung (War-Datei) im Verzeichnis "Bereitstellungen" ablegen, wird die Anwendung von einem ** Bereitstellungsscanner ** bereitgestellt, der das Verzeichnis "Bereitstellungen" in regelmäßigen Abständen durchsucht. Es gibt zwei Arten von Anwendungen, die gescannt werden müssen: ** Archivformat ** und ** erweitertes Format **.
** 1. Archivformat ** Es ist eine WEB-Anwendung mit Reißverschluss. Sogenannte Kriegs- und Ohrfeilen. ** 2. Bereitstellungsformat ** Es ist eine WEB-Anwendung, die zip erweitert. Das extrahierte Verzeichnis heißt so etwas wie "xxx.war".
Die Einstellungen für den Bereitstellungsscanner finden Sie unten in "standalone.xml".
<subsystem xmlns="urn:jboss:domain:deployment-scanner:2.0">
<deployment-scanner path="deployments" relative-to="jboss.server.base.dir" scan-interval="5000" runtime-failure-causes-rollback="${jboss.deployment.scanner.rollback.on.failure:false}"/>
</subsystem>
Die Einstellungselemente für den Bereitstellungsscanner können auf dem Verwaltungsbildschirm wie folgt festgelegt werden.
Artikelname | Erläuterung | Standardwert |
---|---|---|
Auto Deploy Exploded | Gibt an, ob die Bereitstellung erneut durchgeführt werden soll, wenn die bereitgestellte WEB-Anwendung aktualisiert wird | false |
Auto Deploy Xml | Gibt an, ob die XML-Datei erneut bereitgestellt werden soll | true |
Auto Deploy Zipped | Gibt an, ob die archivierte WEB-Anwendung erneut bereitgestellt werden soll | true |
Deployment Timeout | Ein Fehler tritt auf, wenn die Bereitstellung abgelaufen ist oder die Bereitstellung länger als 600 Sekunden dauert. | 600 |
Path | Name des Bereitstellungsverzeichnisses | deployments |
Relative To | Systemeigenschaften{jboss.server.base.dir}Pfad, standardmäßig "Wildfly"-15.0.0.Final/Da es "Standalone" ist, ist es "Wildfly" zusammen mit der Einstellung "Path".-15.0.0.Final/standalone/Es wird zu "Bereitstellungen". | jboss.server.base.dir |
Runtime Failure Causes Rollback | Muss eine bestimmte App alle Bereitstellungen zurücksetzen, wenn ein Laufzeitfehler auftritt? | ${jboss.deployment.scanner.rollback.on.failure:false} |
Scan Enabled | Gibt an, ob das Scannen aktiviert werden soll | true |
Scan Interval | Scanintervall | 5000 |
Mit anderen Worten, im Standardzustand befindet es sich im folgenden Zustand.
Markierungsdateien können vom Benutzer erstellt werden, um den Bereitstellungsscanner zu steuern, oder vom Bereitstellungsscanner, um den aktuellen Status anzuzeigen. Legen Sie es im selben Verzeichnis wie Ihre Anwendung (War-Datei) ab, "wildfly-15.0.0.Final / standalone / deployments". Wenn vom Benutzer erstellt, kann der Inhalt der Datei leer sein.
** Vom Benutzer erstellte Markierungsdatei **
Name | Bedeutung |
---|---|
xxx.war.dodeploy | xxx.Krieg einsetzen |
xxx.war.skipdeploy | xxx.Überspringen Sie den Einsatz des Krieges |
xxx.war.undeploy | xxx.Krieg aufheben * WarumHandbuchNicht geschrieben in |
** Vom Bereitstellungsscanner erstellte Markierungsdatei **
Name | Bedeutung |
---|---|
xxx.war.isdeploying | xxx.Krieg wird eingesetzt |
xxx.war.deployed | xxx.Der Einsatz des Krieges ist abgeschlossen |
xxx.war.failed | xxx.Krieg konnte nicht eingesetzt werden |
xxx.war.isundeploying | xxx.Krieg ist arbeitslos |
xxx.war.undeployed | xxx.Die Entfaltung des Krieges ist abgeschlossen |
Stellen Sie die Anwendung über den WildFly-Verwaltungsbildschirm bereit. Der Verwaltungsbildschirm ist aufwendig und scheint (hauptsächlich) hauptsächlich verwendet zu werden. Was passiert, wenn Sie über den Verwaltungsbildschirm bereitstellen?
Ich denke, Sie können es leicht tun, indem Sie den Anweisungen auf dem Bildschirm folgen.
Wählen Sie "Upload Deployment" aus der Schaltfläche "(+)" oben links im Menü "Deployments".
Ziehen Sie die Kriegsdatei per Drag & Drop in den gepunkteten Rahmen oder klicken Sie auf den Link "Datei auswählen oder hierher ziehen", um die Kriegsdatei auszuwählen und hochzuladen. Nachdem der Upload abgeschlossen ist, klicken Sie auf "Weiter", um fortzufahren.
Überprüfen Sie den Namen und den Laufzeitnamen und setzen Sie die Schaltfläche Aktiviert auf EIN, wenn Sie sie sofort aktivieren möchten. Runtime Name
ist die Kontextwurzel. Drücken Sie nach der Bestätigung die Schaltfläche "Fertig stellen".
Bereitstellung abgeschlossen
Werfen wir einen Blick auf das Verzeichnis "Bereitstellungen". Es gibt nichts.
Wenn Sie standalone.xml
öffnen, werden die folgenden Tags unten hinzugefügt.
<deployments>
<deployment name="helloworld.war" runtime-name="helloworld.war">
<content sha1="2be2e53cd283a40f626a947aa35bfbfb593893ec"/>
</deployment>
</deployments>
Als ich im Verzeichnis wildfly-15.0.0.Final
gesucht habe, habe ich eine solche Datei gefunden.
wildfly-15.0.0.Final/standalone/data/content/2b/e2e53cd283a40f626a947aa35bfbfb593893ec/content
Ich habe die Erweiterung in .zip geändert und sie mit dem Krieg verglichen, den ich zuvor hochgeladen habe, und sie stimmte überein. Es wurde an einem solchen Ort hochgeladen.
Entfernen Sie die Anwendung vom Administrationsbildschirm, bevor Sie fortfahren.
Das wildfly-15.0.0.Final / standalone / data / content / 2b / e2e53cd283a40f626a947aa35bfbfb593893ec / content
ist weg und das zu standalone.xml
hinzugefügte Tag ist weg.
wildfly-15.0.0.Final/bin/
の下にある管理CLIであるjboss-cli.sh
を使用してアプリケーションをデプロイします。Windowsの場合はjboss-cli.bat
を使います。
Stellen Sie mit jboss-cli.sh --connect
eine Verbindung zu WildFly her und führen Sie den Befehl deploy [Kriegsort mit vollem Pfad schreiben]
aus.
#wildfly-15.0.0.Final/bin/jboss-cli.sh --connect
[standalone@localhost:9990 /] deploy /yourpath/helloworld.war
Die Bereitstellung ist jetzt abgeschlossen.
Wenn Sie standalone.xml
öffnen, werden die folgenden Tags unten hinzugefügt.
<deployments>
<deployment name="helloworld.war" runtime-name="helloworld.war">
<content sha1="2be2e53cd283a40f626a947aa35bfbfb593893ec"/>
</deployment>
</deployments>
Eine "Inhalts" -Datei wird ebenfalls erstellt.
wildfly-15.0.0.Final/standalone/data/content/2b/e2e53cd283a40f626a947aa35bfbfb593893ec/content
Es scheint sich genauso zu verhalten wie bei der Bereitstellung über den Verwaltungsbildschirm. Daher denke ich, dass Sie verwenden sollten, was Sie möchten.
In der Dokumentation wird angegeben, dass das Produktsystem die Verwaltungs-API anstelle des Bereitstellungsscanners verwenden sollte.
Die Idee scheint zu sein, dass die Bereitstellung mit einem Bereitstellungsscanner während der Entwicklung verwendet und der Verwaltungsbildschirm oder die Verwaltungs-CLI nach der Produktionsversion verwendet werden soll.
8.2.2. Deploying Using the Deployment Scanner
Users are encouraged to use the WildFly management APIs to upload and deploy deployment content instead of relying on the deployment scanner that periodically scans the directory, particularly if running production systems.
Recommended Posts