2011-12-07 10 views
6

Ho un file war e ho bisogno di distribuirlo su Jboss 7.0.1 Server. Ora ho esaminato la documentazione, ma non ho trovato nulla per distribuire un file di guerra. Inoltre, per distribuire la build tramite la riga di comando, in genere devi usare Maven. Quindi abbiamo bisogno anche della guerra? In tal caso, influisce sul file di guerra?Distribuzione di war in Jboss 7.0.1 tramite Commandline

FYI: Sto usando linux (CentOS5) ...

risposta

13

È possibile distribuire un file .war utilizzando la Command Line Interface Management. La documentazione specifica per esso si trova qui: JBoss AS7 Admin Guide - Deployment, con le sezioni pertinenti per quanto segue. Ti potrebbe piacere anche ad avere un rapido orologio del video: 5 Ways To Deploy Your Applications To JBoss AS7

CLI distribuzione Per un dominio gestito

Il processo di distribuzione dei file binari di implementazione comprende due fasi: È necessario caricare la distribuzione al repository da che il controller di dominio può distribuire i suoi contenuti. In una seconda fase è necessario assegnare la distribuzione di uno o più gruppi di server:

Utilizzando la CLI si può fare un sol colpo:

[[email protected]:9999 /] deploy ~/Desktop/test-application.war 
Either --all-server-groups or --server-groups must be specified. 

[[email protected]:9999 /] deploy ~/Desktop/test-application.war --all-server-groups 
'test-application.war' deployed successfully. 

[[email protected]:9999 /] deploy --help 
[...] 

Dopo aver caricato il file binario utilizzando il "distribuire" comando, sarà disponibile per il controller di dominio e assegnato a un gruppo di server:

[[email protected]:9999 /] :read-children-names(child-type=deployment) 
{ 
    "outcome" => "success", 
    "result" => [ 
     "mysql-connector-java-5.1.15.jar", 
     "test-application.war" 
    ] 
} 

[[email protected]:9999 /] /server-group=main-server-group/deployment=test-application.war:read-resource 
{ 
    "outcome" => "success", 
    "result" => { 
     "enabled" => true, 
     "name" => "test-application.war", 
     "runtime-name" => "test-application.war" 
    } 
} 

In modo simile può essere rimosso dal gruppo di server:

[[email protected]:9999 /] undeploy test-application.war --all-relevant-server-groups 
Successfully undeployed test-application.war. 

[[email protected]:9999 /] /server-group=main-server-group:read-children-names(child-type=deployment) 
{ 
    "outcome" => "success", 
    "result" => [] 
} 

CLI distribuzione Per un server autonomo

distribuzione in un server autonomo funziona in modo simile al dominio gestito, solo che non esistono le associazioni server di gruppo. Potete contare sullo stesso comando CLI come per un dominio è riuscito a distribuire un'applicazione:

[[email protected]:9999 /] deploy ~/Desktop/test-application.war 
'test-application.war' deployed successfully. 

[[email protected]:9999 /] undeploy test-application.war 
Successfully undeployed test-application.war. 

CLI distribuzione per Server autonomo (comando di uno di linea Shell)

È possibile distribuire una guerra in un solo colpo anche dalla Shell. Questo è utile per gli script Bash o gli alias Unix. NOTA: questo espone la password, quindi utilizzala solo per le istanze di sviluppo personale. Assicurarsi $ JBOSS_HOME è impostato, e cambiare la password e file WAR percorso & nome sotto a seconda delle necessità:

$ $JBOSS_HOME/bin/jboss-cli.sh -u=admin -p=MY_PASSWORD --controller=localhost:9990 --connect --command="deploy /path/to/MY_APP.war --force" 

Nota: Come si sa, hai la console di gestione per la distribuzione, così come lo scanner distribuzione. Il primo è popolare come qualsiasi GUI sarebbe, ma il secondo è più per lo sviluppo. Cerco di utilizzare la CLI il più possibile, poiché la curva di apprendimento vale lo sforzo per la potenza dello script batch e la scala di operazioni a basso livello esposte dall'API CLI. Roba molto interessante Dovrei aggiungere per motivi di trasparenza che lavoro con il team di documentazione AS/EAP, quindi potrei essere di parte.

+0

Grazie per una risposta così esplicativa. Ne ho un altro mentre lo sto facendo. Inizio la connessione con jboss-admin.sh su un altro utente. Ho provato a distribuire mywar.war e mi ha dato un errore, ovvero, Path/home/mobilegw/mywar.la guerra non esiste Come potrò aggiungere my mywar.war a un altro utente? – Ahmed

+1

È meglio porre domande specifiche separatamente, se viene data una risposta, in modo che altre ricerche ppl trovino le domande più rilevanti. Controllo della cronologia delle domande Ho un'idea chiara di cosa stai cercando di fare con queste app/cellulari/FB. Suona come un progetto interessante. – ddri

Problemi correlati