2010-01-22 19 views
10

Ich versuche, eine WAR-Datei remote auf einem Websphere-Anwendungsserver bereitzustellen. Ich verstehe, dass dies mit wsadmin möglich ist, aber ich bin ein Websphere newb.Remote-Bereitstellung für Websphere 6.1.x mit wsadmin

Ich weiß, ich kann wsadmin ausführen und verbinden mit SOAP mit dem Remote-App-Server, aber das ist, wo ich bin.

Dies scheint wie es ein häufiger Anwendungsfall sein sollte, kann mir jemand helfen?

Ich nehme an der Anwendungsfall folgt: 1. Aktualisieren Sie die Anwendung 2. Speichern Sie alle Änderungen 3. Starten Sie den Remote-Anwendungsserver

Ich werde den Einsatz tun, entweder mit Hudson WAR Builder oder Maven, was auch immer funktioniert.

Danke für Ihre Hilfe

Antwort

3

Da der WS Builder Plugin relativ neu ist, habe ich es nicht getestet (Die Auswertung ist bereits auf der ToDo-Liste). Zum Ausführen von Bereitstellungen über die Befehlszeile verwenden wir jython-scripts und wsadmin. Mein Verständnis ist, dass ich auf der Maschine sein muss, wo ich bereitstellen möchte. Sie können eine andere Rechner-ID verwenden, wenn Ihr lokaler wsadmin auf der Ebene Ihres Zielrechners ist (gleiche Version und gleiche Feature-Packs).

für weitere Informationen über wsadmin http://publib.boulder.ibm.com/infocenter/wsdoc400/v6r0/index.jsp?topic=/com.ibm.websphere.iseries.doc/info/ae/ae/rxml_commandline.html

sehen BTW, wenn Sie die Web-basierte Administrationskonsole implementieren verwenden, gibt es einen Link irgendwo am Ende des Bereitstellungsprozesses, die Ihnen jython Befehl zeigt. Verwenden Sie nicht jacl, da WAS 7 nur jython verwendet.

+0

Danke für die Antwort. Ich sehe, dass ich ein Skript erstellen muss, also bin ich hier brandneu. Ich möchte 1) die App aktualisieren 2) AdminConfig.save 4) warten, bis App fertig ist 4) Server herunterfahren und 5) Server im Skript starten. Die einzige Sache, die ich nicht kann, ist Skript 4) oben - warte, bis App isReady true zurückgibt – noplay

+0

Wenn der AdminConfig.save() zurückgibt, ist der Server bereit, neu gestartet zu werden. Sie können den Server nur mit dem Skript neu starten, wenn Sie über WAS Network Deployment verfügen. Andernfalls müssen Sie die Skripts "Stopserver" und "startserver" verwenden (dasselbe Verzeichnis wie wsadmin). Wenn Sie WAS als Windows-Dienst installiert haben, müssen Sie anstelle des sartserver-Skripts "net start " verwenden, andernfalls wird es als Benutzerprozess anstelle eines Dienstes gestartet. –

+1

Ich habe festgestellt, dass nach der AdminConfig.save(), habe ich AdminApp.isAppReady und es gab false zurück. Ich habe einen getDeployStatus (oder so ähnlich) gemacht und es hat "processing" zurückgegeben, wo es immer noch die Binaries extrahiert und so weiter. Mein Verständnis ist ich muss warten, bis das getan wird, bevor ich den Server neu starte. Ich mache WAS Network Deployment. WAS läuft unter Linux. Ich habe gerade einige Beispielskripte gefunden, die ich unter http://www.ibm.com/developerworks/websphere/library/samples/SampleScripts.html ausprobieren werde. – noplay

5

Diese Frage ist ziemlich alt, aber id zu zeigen, wie wir diese remotly tun. In diesem Fall mit Ant

<target name="postbuild"> 
    <exec executable="C:\MyThinClient\wsadmin.bat" failonerror="true"> 
     <arg line="-conntype SOAP -host ${deployServer} -port ${deployPort} -user ${deployUser} -password ${deployPassword} -c" /> 
     <arg value="$AdminApp update ${projectName}EAR app {-operation update -contents {${artifactsDir}/${projectName}-${buildVersion}.ear}}" /> 
    </exec> 
</target> 

die korrekten Einstellung des wsadmin.bat Da können Sie dies von einem beliebigen Server laufen auf WAS 6.1/7.0 Mindestens (ohne installiert) ND dies wird die Anwendung mit dem neuen nur neu starten Binärdateien, nicht der ganze Server

+0

Was mussten Sie tun, um wsadmin.bat ohne WAS zu installieren? –

+0

Nevermind, fand einige Dokumentation: [Link] (http://pic.dhe.ibm.com/infocenter/wasinfo/v7r0/index.jsp?topic=/com.ibm.websphere.nd.doc/info/ae/ ae/txml_adminclient.html) –